第一:声明对象的两种用法
let obj = {'name': 'frank','age': 18}
let obj = new Object({'name': 'frank'})
第二:如何删除对象的属性
obj.name(属性名)=undefinded(含有属性名,值为undefinded);
delete obj.name或者 delete obj'name'
查看属性名是否还在:‘name’ in obj ;false和ture
第三:如何查看对象的属性(读属性)
Object.keys(obj):查看key
Object.values(obj) :查看值
Object.entries(obj):查看属性名和属性值
查看自身属性和公有属性:console.dir(obj);
判断自身属性还是公有属性:obj.hasOwnProperty("tostring")
看单个属性
-
obj['name'](推荐用)- 这里的name是字符串
-
obj.name- 这里的name是字符串
-
obj[name]- 这里的name是变量
注:读对象的属性时,
如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。
如果使用点语法,那么点后面一定是 string 常量。
第四:如何修改或增加对象的属性(写)
(1)直接赋值 obj.xxx='值'; 或者 obj['xxx']='值'
(2)批量赋值 Object.assign(obj, {age: 18, gender: 'man'})
(3)改共有属性:Object.prototype['toString'] = 'xxx'
(4)改原型:let obj = Object.creat(common)
第五:'name' in obj和obj.hasOwnProperty('name') 的区别
(1)'name' in obj ---判断obj对象是否包含该属性
(2)obj.hasOwnProperty('name')---用来判断一个属性是obj自身的还是共有的,仅仅是自身属性才返回true.