对象

2018-12-20  本文已影响0人  鹿啦啦zz

语法

Object.defineProperty(obj, prop, descriptor)

参数

属性名 作用
obj 要在其上定义属性的对象。
prop 要定义或修改的属性的名称。
descriptor 将被定义或修改的属性描述符

返回值

obj//被传递给函数的对象

属性描述符

可选键值名 作用
value 设置属性的值
writable 值是否可以重写。true / false
enumerable 目标属性是否可以被枚举。true/ false
configurable 目标属性是否可以被删除或是否可以再次修改特性 true /false
// 在对象中添加一个属性与存取描述符的示例
var bValue;
Object.defineProperty(o, "b", {
  get : function(){
    return bValue;
  },
  set : function(newValue){
    bValue = newValue;
  },
  enumerable : true,
  configurable : true
});
o.b = 38;
console.log(o.b)//38
// 对象o拥有了属性b,值为38
// o.b的值现在总是与bValue相同,除非重新定义o.b,双向绑定

for in
Object.keys()

上一篇下一篇

猜你喜欢

热点阅读