JS 对象基本用法

95 阅读1分钟

声明对象的两种语法

let obj = { 'name':'zhangsan','age':18}
let obj2 = new Object({'name':'wangwu','age':22}) 

如何删除对象的属性

delete obj.name
delete obj2['name']
  • 查看一个属性是否在对象中
'age' in obj === false
  • 含有属性名,但是值为 undefined
'obj2' in obj && obj.age === undefined

如何查看对象的属性

  • 查看自身+共有属性
console.dir(obj)
  • 判断一个属性是自身的还是共有的
obj. hasOwnProperty('toString')
  • 查看属性
obj['age']  
obj.age 

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

  • 修改自身
obj['age'] = 19
  • 批量改自身/赋值
Object.assign(obj, {age: 18, gender: 'man'})
  • 改共有属性
Object.prototype.toString = 'abc'
  • 改原型
let obj = Object. create(common)

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

'name' in obj 是查看name属性是否存在于obj对象中 obj.hasOwnProperty('name')是查看obj中的name属性是共有属性还是自身属性