JS 对象基本用法

82 阅读1分钟

声明对象的两种语法

  • let obj = { 'key':'values', 'key': 'values }【规范写法为 let obj = new Object({'key': 'values'})】
  • console.log({ 'key': 'values', 'key': 'values' })

注:key是字符串,可以包含任意字符。

如何删除对象的属性

  • obj.key=undefined 只删除key的values,例:

image.png

  • delete obj.key key和values全部删除,例:

image.png

如何查看对象的属性

  • 查看自身属性:

1.Object.key(obj) 查看键的属性;

2.Object.values(obj) 查看值的属性;

3.Object.entries(obj) 查看键和值的属性。

  • 查看自身+共有属性:console.dir(obj)

  • 判断一个值属性是自身的还是共有的:obj.hasOwnProperty('属性名')。返回false,即是共有属性;返回true,即是自身属性。

直接查看属性,有两种方法-> ①括号语法: obj['key'];②点语法: obj.key

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

  • 改自身 obj['key']='xxx'
  • 批量改自身 Object.assign(obj,{name:Amy...})
  • 改共有属性 ①obj.__proto__['toString']='xxx'(不推荐使用);②Object.prototype['toString']='xxx'
  • 改原型 ①obj.__proto__=common(不推荐使用);②let obj=Object.create(common)
  • 增基本同上:已有属性则改;没有属性则增。

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

'name' in obj 无法区分是自身属性还是共有属性;obj.hasOwnProperty('name') 可以区分是自身属性还是共有属性,只有是自身的属性才会返回ture。