在javascript高级程序设计6.1.2节中讲到的访问器属性测试失败,哪里有错误呢?
环境:mac + chrome、mac + firefox
代码如下:
var user = {
name: 'ename'
};
user.__defineSetter__('name', function(val) {
console.log(val);
this.name = val;
});
user.__defineGetter__('name', function() {
return this.name;
});
user.name = 'newname';
换成ObjectProperty也是一样失败。
Object.defineProperty(user, 'name', {
get: function() {
return this.name;
},
set: function(val) {
this.name = val;
}
});
js执行后,变成了一个死循环。到底是哪里错误了呢?
--
FROM 123.119.76.*