《JS对象基本用法》
声明对象的两种语法
七种数据类型用法
- number
- string
- bool
- symbol
- null
- undefined
- object
五个false值
如何删除对象的属性
- delete obj.xxx或delete obj['xxx']
- 'xxx' in obj===false(不含属性名)
- 'xxx' in obj&&obj.xxx===undefined(含有属性名,但值为undefined)
- 注意obj.xxx===undefined(不能断定'xxx'是否为obj的属性)
没有就是没有,undefined就是undefined
如何查看对象的属性
查看所有属性(读属性)
- Object.keys(obj)(查看自身所有属性)
- console.dir(obj)或自己依次用Object.keys打印出obj.proto(查看自身和共有属性)
- obj.hasOwnProperty('toString')(判断一个属性是自身的还是共有的)
查看属性
两种方法查看属性
- 中括号语法:obj[keys]
- 点语法:obj.key
如何修改和增加对象的属性
修改或增加属性(写属性)
- 直接赋值
- 批量复制 Object.assign(obj,{})
修改或增加共有属性
-
- 我偏要修改或增加原型上的属性 obj.proto.toSpring='xxx'//不推荐用__proto__
- Objrct.prototype.toSpring='xxx'
修改隐藏属性
- 不推荐使用__proto__
- 推荐使用Object.create(要改就一起改,别后来再改)
一般来说,不要修改原型,会引起许多问题