一元加操作符以一个“+”表示,放在数值前面不会对数值产生影响。
但是对非数值执行一元加操作时,该操作会像number()函数一样对值进行转换
转换规则如下:
var num=25;
var s1="01"
var s2="1.5"
var s3="z"
var b=false
var f=1.5
var o={
valueof:function(){
return -1;
}
};
num = +num; //值不变,仍为25
s1 = +s1; //值变为数值1
s2 = +s2; //值变为数值1.5
s3 = +s3; //值变为NaN
b = +b; //值变为数值0
f = +f; //值变为数值1.5
o = +o; //值变为数值-1
一元减的转换规则如下
var num=25;
var s1="01"
var s2="1.5"
var s3="z"
var b=false
var f=1.5
var o={
valueof:function(){
return -1;
}
};
num = -num; //值变为-25
s1 = -s1; //值变为数值-1
s2 = -s2; //值变为数值-1.5
s3 = -s3; //值变为NaN
b = -b; //值变为数值0
f = -f; //值变为数值-1.5
o = -o; //值变为数值1