Fai*_*een 5 javascript ecmascript-5
我创建了这个对象及其属性:
var obj = {};
Object.defineProperty( obj, "value", {
value: true,
writable: false,
enumerable: true,
configurable: true
});
var name = "John";
Object.defineProperty( obj, "name", {
get: function(){ return name; },
set: function(value){ name = value; }
});
Run Code Online (Sandbox Code Playgroud)
那么我在它们上面调用for循环:
for ( var prop in obj ) {
console.log( prop );
}
Run Code Online (Sandbox Code Playgroud)
根据我的教程,应该产生以下结果:
value
name
Run Code Online (Sandbox Code Playgroud)
但相反,它只显示价值.为什么姓名没有出现?
由于name属性未定义为enumerable,因此请将名称定义设置为
Object.defineProperty( obj, "name", {
enumerable: true,
get: function(){ return name; },
set: function(value){ name = value; }
});
Run Code Online (Sandbox Code Playgroud)
它会出现.
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |