亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

set $age之后,運行man.age值為undefined


var man = {

name:'kkk',

weibo:'@Bosn',

$age:null,

get age(){

if( this.$age == undefined ){


return new Date().getFullYear() - 1988;

}

},

set age(val){

val = +val;

if( !isNaN(val) && ?val > 0 && val < 150){


this.$age = +val;

return this.$age;


}else{


console.log('Age can\'t be set to ' + val );

}

}

}

console.log( ' man.age = ?'+ man.age); // 20?

man.$age = 100;

console.log( ' man.age2 = ?'+ man.age); // undefined ?這個我運行出來是undefined,老師的為啥是 100 ,


正在回答

1 回答

這一段

{
return?new?Date().getFullYear()?-?1988;
}

之后你沒有寫else的語句。

原因:在你設置了$age之后if判斷時顯示false,不執行上一段的命令,但也沒有else的命令可以執行,所以默認會返回undefined。

0 回復 有任何疑惑可以回復我~
#1

兮兮醬 提問者

非常感謝!
2017-06-23 回復 有任何疑惑可以回復我~
#2

兮兮醬 提問者

奧,明白了,如果是man.age = 100 去改變值, 會先執行set,然后在執行get。謝謝啦~~~
2017-06-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

set $age之后,運行man.age值為undefined

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號