为了账号安全,请及时绑定邮箱和手机立即绑定

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);


正在回答

3 回答

这里的+号是一元操作符,同number转型函数

0 回复 有任何疑惑可以回复我~

+val 是弱转换,将val转换为数值类型,若转换不成数值则返回NaN, val += val  才是val = val + val

6 回复 有任何疑惑可以回复我~

$符合暗示这个属性时私有属性

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

man.age赋值为100后为什么输出的age也是100,val = +val是什么意思,不是等于val = val + val 吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信