JS 对象基本用法
声明对象的两种语法
let obj = { 'name': 'frank', 'age': 18 }
let obj = new Object({'name': 'frank'})
如何删除对象的属性
delete obj.xxx或delete obj['xxx']
即可删除obj的xxx属性
注意区分
含有属性名,但值为undefined
'xxx' in obj ===undefined
obj.xxx ===undefined
- 不能断定'xxx'是否为obj的属性
不含属性名
‘xxx’ in obj = = = false
如何查看对象的属性(读属性)
查看自身所有属性
Object.keys(obj)
- 查看key
Object.entries(obj)
- 查看所有
查看自身+共有属性
- console.dir(obj)
- 或者自己依次用
Object.keys
打印出obj.__proto__
(不推荐用)
判断一个属性是自身的还是共有的
obj.hasOwnProperty('toString')
看单个属性
obj['name']
(推荐用)- 这里的name是字符串
obj.name
- 这里的name是字符串
obj[name]
- 这里的name是变量
注:读对象的属性时,
如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。
如果使用点语法,那么点后面一定是 string 常量。
如何修改或增加对象的属性(写)
自身属性
obj['name'] = 'jack'
- 更改自身属性
Object.assign(obj, {age: 18, gender: 'man'})
- 批量赋值
共有属性
Object.prototype['toString'] = 'xxx'
- 改共有属性
隐藏属性
let obj = Object.creat(common)
- 改原型
'name' in obj和obj.hasOwnProperty('name')
的区别
'name' in obj
可以判断obj对象不含xxx属性
- 自身属性和共有属性都返回true
obj.hasOwnProperty('name')
用来判断一个属性是obj自身的还是共有的
- 仅仅是自身属性才返回true
延伸
Object.defineProperty()
- 用于在一个对象上定义新的属性或修改现有属性, 并返回该对象.
JS 对象基本用法的更多相关文章
- json对象数组的创建、遍历、添加、删除、修改、js的splice()用法
本文链接:https://blog.csdn.net/houfengfei668/article/details/79843625 )第二种方式:手动构造json对象数组 )for )用splice方 ...
- js事件监听器用法实例详解
这篇文章主要介绍了js事件监听器用法,以实例形式较为详细的分析了javascript事件监听器使用注意事项与相关技巧,需要的朋友可以参考下本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分 ...
- js事件监听器用法实例详解-注册与注销监听封装
本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事 ...
- js对象详解(JavaScript对象深度剖析,深度理解js对象)
js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕 ...
- JS的简单用法
JS的简单用法 参考:http://www.w3school.com.cn/js/js_switch.asp JavaScript 是网络的脚本语言 JavaScript 是可插入 HTML 页面的编 ...
- jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...
- JS组件系列——表格组件神器:bootstrap table 包含了js对象的定义和对象成员函数的定义
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- FormData js对象的介绍和使用
FormData js对象的介绍和使用 FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台. 在使用ajax提交时,使用FormData对象可以减 ...
- JS和jQuery用法区别
目录 JS和jQuery用法区别 外观区别 查找元素 操作标签 操作内容 操作属性 操作位置 操作样式 事件 JS和jQuery用法区别 外观区别 jQuery与JS最直观的区别就是外观上jQuery ...
随机推荐
- 萌新学渗透之Hack The Box_Beep
我将我的walkthrough过程用视频解说的形式记载 视频地址https://www.bilibili.com/video/BV1VT4y1j7dg 一是因为看我视频的后来者应该都是刚入门的新手,视 ...
- 花生壳内网穿透vue项目错误
原因:新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname不是配置内的,将中断访问. 解决:webpack.dev.conf.js添加配置 disab ...
- 12-21 Request庫
- python基础day5_元组
元祖---只读列表,可循环查询,可切片 儿子不能改,孙子可能可以改.增加(主要看要操作的是属于列表还是元组) tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') t ...
- Python File seek() 方法
概述 seek() 方法用于移动文件读取指针到指定位置.高佣联盟 www.cgewang.com 语法 seek() 方法语法如下: fileObject.seek(offset[, whence]) ...
- PHP constant() 函数
实例 返回一个常量的值: <?php//define a constantdefine("GREETING","Hello you! How are you tod ...
- ubuntu18.04右键怎么添加新建空白文本文件
安装好ubuntu18.04发现右键菜单中没有新建空白文件了,这样工作的时候需要创建文本文件就不是很方便了,这里我们就可以通过以下的方式把新建空白文件添加到右键 解决办法: 1.打开文件夹,在用户主目 ...
- excel-填充
问题[1]:需要将一列元素的空全部填充为NULL 选定列->F5定位(推荐先定位行总数)->再次F5定位(选空值)->在选定后的一个框内输入NULL->ctrl+enter 完 ...
- 前端面试 vue 部分 (3)——v-show和v-if的区别
v-if 适用于在运行时很少改变条件,不需要频繁切换条件的场景: v-show 则适用于需要非常频繁切换条件的场景. v-if 是条件渲染,如果在初始渲染时条件为假,则什么也不做--直到条件第一次变为 ...
- Solon 最简单demo---Hello World
Solon 的项目地址: https://gitee.com/noear/solon 里面杂七杂八的东西很多...今天的目标是整一个最最简单,最最小巧的 Hello world (一)用 Intell ...