object是第七种数据类型,唯一一种最常用的复杂类型声明的简单写法letobj={'name':'frank','age':18}obj.name='frank'//name是一个字符串obj.['name']='frank'详细信息键名是一个字符串,不是标识符,可以包含任何字符。引号可以省略。省略后,即使省略引号也只能写标识符了,键名还是字符串。删除obj的xxx属性。deleteobj.xxxordeleteobj['xxx']判断是否不包含obj中的属性名'xxx'===false(xxx必须加单引号)判断是否包含属性名,但是attributevalueisundefined'xxx'inobj&&obj.xxx===undefined查看输入属性名查看属性值obj['key']obj.key其中name为字符串,相当于obj['name']点语法会误导你,让你以为key不是字符串obj[key]这里的key是一个变量,循环打印的时候会用到,因为变量的值可以不断替换js会找到[]表达式的值检查自己的所有属性名Object.keys(obj)检查自己+公共属性console.dir(obj)判断一个属性是否是自己的并且有共享的obj.hasOwnProperty('toString')如果结果为真,说明是它自己inewhetherthepropertyisownpropertyorasharedpropertyobj.hasOwnProperty('key')可以判断该属性是自己的属性还是共享的属性直接在浏览器控制台输入对象名称:obj回车即可返回对象的所有属性名和属性值。修改自身:obj['name']='jack'批量赋值:Object.assign(obj,{age:18,gender:'man'})不建议修改原型改变原型:letobj=Object.create(普通)
