您好,求指教有关js变量下划线问题,情况如下所示

这段代码中,为什么year声明的时候前面加了下划线,用的时候却没加,我尝试将声明处的下划线去掉,结果程序执行不了,求解释。

var book = {
_year:2004,
edition:1
};
Object.defineProperty(book,"year",{

get:function(){
return this._year;
},
set:function(newValue){
if(newValue>2004){
this._year = newValue;
this.edition += newValue - 2004;
}
}
});

book.year = 2005;
alert(book.edition);

慕尼黑5688855
浏览 184回答 1
1回答

墨色风雨

Object.defineProperty(book,"year",{            get:function(){        return this._year;    },    set:function(newValue){        if(newValue>2004){            this._year = newValue;            this.edition += newValue - 2004;        }    }});注意看这个方法 defineProperty 是给book添加一个year的属性这个属性获取值的方法是 get  设置值的方法是set  和上面的_year无关那么book 就有了year  和_year2个属性的
打开App,查看更多内容
随时随地看视频慕课网APP