- 声明对象的两种语法
1.使用字面量
var obj = {
'a' : 1,
'b' : 2
}
var obj = new Object ({
'a' : '1s',
'b' : 2
})
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)
}
}
- 如何增删改查对象的属性
1.增加属性
obj.create();
obj.key = value
2.删除属性
删除obj的xxx属性
delete obj.xxx
delete obj['xxx']
删除obj中xxx属性的内容
obj.xxx = undefined
3.修改属性
obj.key = value;
obj.assign();
- 查看属性
查看自身所有属性
Object.keys(obj)
查看自身+共有属性
console.dir(obj)
'name' in obj和obj.hasOwnPrototype('name')的区别
in判断一个对象属性或原型里面是否包含某个key,key为字符串
var obj={
key:123
};
'key' in obj; //true
'hasOwnProperty' in obj; //true
复制代码
hasOwnPrototype判断一个对象属性里是否包含某个key,key为字符串,此方法不会去判断原型
var obj={
key:123
};
obj.hasOwnProperty('key'); //true
obj.hasOwnProperty('hasOwnProperty'); //false