声明对象的语法
- 使用字面量
var obj = {
'a' : 1,
'b' : 2
}
var obj = new Object({
'a': 'ls',
'b': 2
})
- 使用构造函数
function Obj(a) {
this.a = a
}
function getA(){
console.log(this.a)
}
obj1 = new Obj(a)
class Obj{
constructor(a){
this.a = a
}
getA(){
console.log(this.a)
}
}
对象属性的增删改查
- 增加
obj.create();
obj.key = value
- 删除
delete
- 修改
obj.key = value ;
obj.assign();
- 查询
obj.keys()
obj.dir()
in
obj.hasOwnPrototype()
'name' in obj和obj.hasOwnPrototype('name')的区别
in判断一个对象属性或原型里面是否包含某个key,key为字符串
var obj={
key:123
};
'key' in obj;
'hasOwnProperty' in obj;
hasOwnPrototype判断一个对象属性里是否包含某个key,key为字符串,此方法不会去判断原型
var obj={
key:123
};
obj.hasOwnProperty('key');
obj.hasOwnProperty('hasOwnProperty');