JS 对象基本用法

65 阅读1分钟
  • 声明对象的两种语法

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();
  1. 查看属性

查看自身所有属性

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