一、声明对象的方法
-
let obj = {'name': 'Ken', 'age': 24};// 简单写法,大部分情况用这种声明方法。 -
let obj = new Object({'name': 'Ken', 'age': 24});
二、如何删除对象的属性
- 通过delete obj.xxx 或 delete obj['xxx']两种方法即可删除xxx属性
- 利用'xxx' in obj === false 可以查看对象中是否含有属性名
- 注意: obj.xxx === undefined 不能判断'xxx'是否为obj的属性。 undefined是一个值
三、如何查看对象的属性
- 查看自身所有属性:Object.keys(obj)
- 查看自身+共有属性: console.dir(obj)
- 查看对象的某一个属性: obj['key'] 或 obj.key
四、如何修改或增加对象的属性
-
let obj = {name: 'frank'}// name是字符串 obj.name = 'frank'; obj['name'] = 'frank'; - 批量赋值: Object.assign(obj, {age: 24, gender: 'man'}); // 想改啥就在花括号里面修改
- 无法通过自身修改或增加共有属性 let obj = {}, obj2 = {} // 共有 toString obj.toString = 'xxx' 只会在改 obj 自身属性 obj2.toString 还是在原型上
'name' in obj和obj.hasOwnProperty('name') 的区别
- 'name' in obj 可以检查到自身属性和原型属性,两者都能检查到。
- 而obj.hasOwnProperty('name') 只能检查到自身属性,原型属性无法检测。