语法
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()
网友评论