《JS 对象基本用法》

231 阅读1分钟

1. 声明对象的两种语法

let obj = {'name':'monk','age':18}   //对象字面量

let obj = new Object({'name':'monk'}) //构造函数

2. 如何删除对象的属性

删除obj的xx属性:

delete obj.xx 或 delete obj['xx']

delete会删除属性名和属性值
let obj = {'name':'luffy','age':17}
delete obj.name   //delete obj['name']
obj  //{age:17}   这里的属性名age是字符串

3. 如何查看对象的属性

查看自身所有属性名      Object.keys(obj)
查看自身所有属性值      Object.values(obj)
查看自身属性和共有属性   console.dir(obj)
查看自身的某个属性      obj['key']或obj.key   //注意中括号里的''   这里的key代指具体的属性名

4. 如何修改或增加对象的属性

  • 直接赋值

      let obj = {name:'monk'} 
      obj.name = 'monk'
      obj['name'] = 'monk'
      obj['na'+'me'] = 'monk'
      let key = 'name'; obj[key] = 'monk'       
    
  • 批量赋值

      Object.assign(obj,{age:18,gender:'man'})
    

5. 'name' in obj和obj.hasOwnProperty('name') 的区别

'name' in obj 可以判断一个对象是否有原生属性或者原型属性

obj.hasOwnProperty('name') 只能判断原生属性,不能判断原型属性