momoyy123
2016-04-27 10:33
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);
这里的+号是一元操作符,同number转型函数
+val 是弱转换,将val转换为数值类型,若转换不成数值则返回NaN, val += val 才是val = val + val
$符合暗示这个属性时私有属性
JavaScript深入浅出
281111 学习 · 1020 问题
相似问题