JS对象是七种基本数据类型(复习一下:四基number, string, bool, symbol,两空null, undefined,一对象object)中最特殊的一种,今天就复习一下JS对象的基本用法。
如何声明一个对象
两种方法
-
let obj = {'name': 'xiaoming', 'age': 24} //简写 -
let obj2 = new Object({'name': 'xiaoming', 'age': 24}) //标准写法
对象属性的增删改查CRUD
删
硬删除 & 软删除
delete obj.xxx 或 delete obj['xxx'] //硬删除
obj.xxx = undefined //软删除
判断属性是否在对象中
表达式 (xxx in obj)
判断属性是否为对象的自有属性(不是隐藏属性)
obj.hasOwnProperty('xxx')
这两者的区别
前者可用于隐藏属性,后者只能判断自有属性
查
查询对象自有属性
Object.keys(obj)
查询对象的所有属性
console.dir(obj)
改和增
已有属性则改,没有的属性则增
改自身
obj.name = 'ann' //单个修改
Object.assign(obj, {name: 'ann'......}) //批量修改
改共有属性
obj.__proto__.toString = 'xxx' //第一种
Object.prototype.toString = 'xxx' //第二种
改原型
obj.__proto__ = other //other是一个对象
var obj3 = Object.create(obj2, {name: {value: 'tutu'}, kind: {value: 'human'}}) //以obj2为原型创建obj3