我的英语不好,但我会尽力解释我的问题.说明:警报结果是1,我不是为什么,我认为这应该是2015年提醒.
var book = {};
Object.defineProperties(book, {
_year: {
value: 1
},
edition: {
value: 23
},
year: {
get: function () {
return this._year;
},
set: function (newValue) {
if (newValue > 2004)
this._year = newValue;
}
}
}
);
book.year = 2015;
alert(book.year);
Run Code Online (Sandbox Code Playgroud)
Roo*_*nen 10
你需要添加writable:true就像这样
_year: {
value: 1,
writable: true
},
Run Code Online (Sandbox Code Playgroud)
为__year_.
来自Mozilla开发者网络:
写
当且仅当可以使用赋值运算符更改与属性关联的值时,才返回true.默认为false.