man.age賦值為100后為什么輸出的age也是100,val = +val是什么意思,不是等于val = val + val 嗎
var man = {
weibo:'@Bosn',
$age:null,
get age(){
if(this.$age== undefined){
return new Date().getFullYear() - 1986;
}else{
return this.$age;
}
},
set age(val){
val = +val;
if(!isNaN(val) && val > 0 && val < 150){
this.$age = +val;
}else{
throw new Error('Incorrect val =' + val);
}
}
}
console.log(man.age);
2017-04-15
這里的+號是一元操作符,同number轉型函數
2016-04-27
+val 是弱轉換,將val轉換為數值類型,若轉換不成數值則返回NaN, val += val ?才是val = val + val
2016-04-27
$符合暗示這個屬性時私有屬性