声明对象的两种语法
let obj = {'key':values,
'key2':values
}
let obj = new Object ( {'key':values,
'key2':values
} )
如何删除对象的属性
delete obj.xxxx
or
delete obj['key']
如何查看对象的属性
Object.keys(obj)
console.dir(obj) //自身加共有属性
访问对象属性
objectName.propertyName
或者
objectName["propertyName"]
特别的例子
var obj :{
key:value
}
let key = 'fake'
obj[key] === obj["fake"] === undefind // JS会先求变量key的值 但是 变量key的值不一定等于字符串“key”
obj.key === obj["key"] ===value
如何修改或增加对象的属性
直接赋值:
let obj = {'name': value}
obj.name: value
批量赋值:
Object.assgn(obj,{age:18, gender:man"})
'name' in obj和obj.hasOwnProperty('name') 的区别
in操作符只要通过对象能访问到属性就返回true(即使‘name’是声明在共有属性);
hasOwnProperty()只在属性存在于实例中时才返回true;