let obj = new Object({'name': 'frank'})
let obj = { 'name': 'frank', 'age': 18}
注意: 常量作属性名:
- 就算省略引号,键名也是字符串
- 属性名会自动变成字符串(1e2 ,.234)
- 用
Object.key(obj)
可以获得所有的 key
delete obj.xxx
或 delete obj['xxx']
'xxx' in obj === true (false)
-
查询自身所有属性
Object.keys(obj)
-
查询自身+共有属性
console.dir(obj)
-
判断一个属性属于自身还是共有属性
obj.hasOwnProperty('toString')
-
两种查看属性的方法:
中括号法:
obj['key']
点语法:
obj.key
注意:
obj[name]
里面的name
是变量
-
直接赋值
let obj = {'name':'frank'} obj.name = 'fuck'//obj = {'name':'fuck'} obj.age = 18;//obj = {'name':'fuck',age:18} //注意:obj.['name']===obj.name //obj[name] 错!错!!错!!!
-
批量赋值
Object.assign(obj, {age: 18, gender: 'man'}
-
改共有属性
obj.__proto__['toString']= 'fuck' //不推荐
Object.prototyoe['toString']='fuck'
-
改原型
obj.__proto__= 'common' //不推荐
let obj=Object.create(common)
'name' in obj
是判断自身+共有属性是否存在的 true表示存在,false表示不存在
obj.hasOwnProperty('name')
是判断该属性是自身还是共有的,true
表示是自身属性,false表示自身属性没有