对象的定义
无序属性的集合,其属性可以包含基本值、对象或函数。可以将对象想象成散列表,即一组名值对,值可以是数据或是函数
属性设置
采用Object.defineProperty() 方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性,并返回这个对象。
Object.defineProperty(obj, prop, descriptor)
- obj 需要定义属性的对象。
- prop 需被定义或修改的属性名。
- descriptor 需被定义或修改的属性的描述符。
属性主要分为两种: 数据属性和访问器属性
configurable: 当且仅当该属性的configurable为true时,该属性才能够被改变,也能够被删除,默认为false。
enumerable: 当且仅当该属性的enumerable为true时,该属性才能够出现在对象的枚举属性中,默认为false。
value: 该属性对应的值。可以是任何有效的JavaScript值(数值,对象,函数等),默认为undefined。
writable: 当且仅当该属性的writable为true时,该属性才能被赋值运算符改变,默认为false。