JS 对象基本用法

170 阅读1分钟

1. 声明对象的两种语法

let obj={'name':'David', 'age':10}

let obj= new Object({'name':"David"})
console.log({'name':'David', 'age':10})

键名可以包含任何字符,但都是字符串。 属性名加上中括号[]就可以成为变量。

2. 如何删除对象的属性

delete obj.xxx 或者 delete obj['xxx']删除obj的xxx属性

delete删除属性值和属性名,undefined只删除属性值。

'xxx' in obj === false表示不含有属性名。 'xxx' in obj && obj.xxx === undefined表示含有属性名,但值为undefined。

3. 如何查看对象的属性

obj['key']查看单个属性。
Object.keys(obj)可以查看自身所有属性。 console.dir(obj)查看自身和共有属性。 obj.hasOwnProperty('toString')判断一个属性是自身的还是共有的。

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

  • 直接赋值
let obj = {name:'David'}
obj.name = 'David'
obj['name'= 'David']
obj['na'+'me'= 'David']
let key = 'name'; obj[key] = 'David'
  • 批量赋值 Object.assign(obj, {xxx,yyy,zzz})
  • 更改共有属性 共有属性无法通过自身修改或增加。

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

'name' in obj可以查看属性name是否在obj里。

obj.hasOwnProperty('name')查看obj是否含有特定的自身属性name。