《JS对象基本用法》

109 阅读1分钟

声明对象的两种语法

七种数据类型用法

  • number
  • string
  • bool
  • symbol
  • null
  • undefined
  • object

五个false值

  • null
  • undefined
  • NaN
  • 0
  • ''

如何删除对象的属性

  • delete obj.xxx或delete obj['xxx']
  • 'xxx' in obj===false(不含属性名)
  • 'xxx' in obj&&obj.xxx===undefined(含有属性名,但值为undefined)
  • 注意obj.xxx===undefined(不能断定'xxx'是否为obj的属性)

没有就是没有,undefined就是undefined

如何查看对象的属性

查看所有属性(读属性)

  • Object.keys(obj)(查看自身所有属性)
  • console.dir(obj)或自己依次用Object.keys打印出obj.proto(查看自身和共有属性)
  • obj.hasOwnProperty('toString')(判断一个属性是自身的还是共有的)

查看属性

两种方法查看属性

  • 中括号语法:obj[keys]
  • 点语法:obj.key

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

修改或增加属性(写属性)

  • 直接赋值
  • 批量复制 Object.assign(obj,{})

修改或增加共有属性

  • 无法通过自身修改或增加共有属性
    • 我偏要修改或增加原型上的属性 obj.proto.toSpring='xxx'//不推荐用__proto__
  1. Objrct.prototype.toSpring='xxx'

修改隐藏属性

  • 不推荐使用__proto__
  • 推荐使用Object.create(要改就一起改,别后来再改)

一般来说,不要修改原型,会引起许多问题