一元操作符
递增递减操作符包含:
前置型:即位于要操作的变量之前;后置型:即位于要操作的变量之后。区别是:后置型是他们的语句被求值之后在执行;
var num = 1; var sum = ++num; console.log(sum); //sum 的值为 2 因为 ++num 为前置型;所以会先 num 自加;然后再对 sum 赋值; console.log(num); //num 的是为 2;
前置型累减同样的;先计算值在自身计算;
var num = 1; var sum = num++; console.log(sum);//值为 1 因为是后置型,所以先给 sum 赋值,然后在自身累加; console.log(num);//值为 2
后置型累减同样的;先赋值计算,再进行自身的累减;
递增、递减适应的原则:字符串、 布尔 、浮点数 、对象
1.应用于包含有效数字字符的字符串时,先转换成数字值,在执行加减 1 的操作;字符串变量变成数值变量;
2.应用于不包含有效数字字符的字符串时,将变量的值设置为 NaN ;字符串变量变成数值变量;
3.应用于布尔值 false 转换为数字 0,true 转换为数字 1,再加减 1;布尔值变量变成数值变量;
4.应用于浮点数只时,执行加减1操作;
5.应用于对象时,对对象调用 valueof() 取得可供操作的值,在对该值应用前述规则;如果结果为 NaN,则调用 toString() 方法后,再应用前面的规则;对象变量变成数值变量;
一元加操作符用数学符号(+)表示;放在数值前面时,对该数值不会产生任何影响;如果放在非数值前面,就会调用 Number() 对这个值进行转换;换句话说:true 会转换为 1;false 会转换为 0;
一元减操作符用数学符号(-)表示;放在数值前面表示负数;放在非数值前面跟一元加操作符一样,然后再将得到的数值转换为负数;