JS对象基本用法

114 阅读1分钟

Object

JavaScript原生提供 Object对象,JavaScript所有其他对象都继承自 Object对象,即那些对象都是 Object的实例。
Object对象的原生方法分为两类, Object本身的方法和它的实例方法。

Object构造函数

Object不仅可以当作工具函数使用,还可以当作构造函数使用,Object构造函数的首要用途就是直接通过它来生成新对象。
声明对象的两种方法

  • let obj = {'name': 'Nick', 'age': 20}
  • let obj = new Object{'name': 'Nick'} 注意: 键名是字符串,不是标识符,可以包含任意字符;引号可以省略,就算省略了引号,键名也还是字符串。

Object的静态方法

Object.keys()和Object.getOwnPropertyNames()

这两个方法都用来遍历对象的属性。 Object.keys方法的参数是一个对象,返回一个数组,该数组的成员都是该对象自身的所有属性名。

let obj = { name:Nick, age:18};

Object.keys(obj) //["name","age"]

Object.getOwnPropertyNames与它类似,也接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名。

删除属性

delete obj.xxx 或者delete obj['xxx']即可删除obj的xxx属性;注意区分[属性值为undefined]和不含属性名
不含属性名'xxx' in obj === false

查看所有属性

Object.keys(obj)
查看自身+共有属性 console.dir(obj)
判断一个属性是自身的还是共有的:obj.hasOwnProperty(toString')

修改或增加对象属性

改自身 obj['name'] = 'bob'
批量改自己 Object.assign(obj, {age: 18})
改原型:let obj = Object.create(common)

总结

  • 删 delete obj['name']
    'name' in obj // false
    obj.hasOwnProperty('name') // false
  • 查 Object.keys(obj)
    console.dir(obj)
    obj['name']
    obj.name // 记住这里的 name 是字符串 ,等价于obj['name']
    obj[name] // 记住这里的 name 是变量
  • 改 改自身 obj['name'] = 'jack'
    批量改自身 Object.assign(obj, {age:18, ...})
    改原型 let obj = Object.create(common)