JS对象定义
声明对象
声明对象有两种方式:
方式一
let obj = {}
方式二
let obj = new Object({})
键名命名规则
键名必须是字符串, 任意字符串甚至是空字符串都行, 它不是标识符.
定义键名的时候引号也可以省略, 这时候只能以标识符的规则来写, 但它依然是一个字符串
如何删除对象的属性
使用 delete 关键字
delete obj.name //点形式delete obj.['name']
检测是否删除成功删除
使用 in 关键字, 判断属性是否存在于对象中.
'name' in obj // 值为true表示属性还存在于对象中, 值为false表示已经成功删除
如何查看对象属性
根据单个属性查看
有两种方式查看, 一是点语法 obj.key ; 二是中括号语法 obj['key'], 两者都可以. 需要注意的是, 不要漏掉引号, 写成 obj[key]的话, 这里的key是指一个变量, 而不是字符串.
使用 Object.keys()方法
Object.keys(obj) //查看属性Object.values(obj) // 查看属性值
查看属性和属性值
使用 console.dir() 方法
console.dir(obj)
判断一个属性是自身属性还是共有属性
使用 hasOwnProperty()
obj.hasOwnProperty("toString") //查看 tostring 属性是否是自身属性, 结果是false说明不是.
打印所有的属性和属性值
使用 Object.entries() 方法
Object.entries(obj) //会打印出多个数组出来
如何新增或修改对象
直接赋值
使用 obj.name = 'jesse'就可以.
如果已有 ‘name’ 属性就修改, 没有就新增.
批量复制
Object.assign() 方法接受两个参数. 下面的例子给对象 obj 批量增加了 p1, p2 和 p3 三个属性
Object.assign(obj, {p1: 1,p2: 2,p3: 3})
修改共有属性
通过 Object.prototype.toString() 来修改对象的共有属性(原型).
构造函数与原型
new 操作
new X() 的时候发生了下面四件事
