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
這里的+號(hào)是一元操作符,同number轉(zhuǎn)型函數(shù)
2016-04-27
+val 是弱轉(zhuǎn)換,將val轉(zhuǎn)換為數(shù)值類型,若轉(zhuǎn)換不成數(shù)值則返回NaN, val += val ?才是val = val + val
2016-04-27
$符合暗示這個(gè)屬性時(shí)私有屬性