ECMAScript 加性运算符,加性运算符(加号、减号),小学就开始学习的知识点。
一、加法运算符,法运算符由加号(+)表示
在处理特殊值时,加法有一些特殊行为:
1、某个运算数是 NaN,那么结果为 NaN
2、-Infinity 加 -Infinity,结果为 -Infinity
3、Infinity 加 -Infinity,结果为 NaN
4、+0 加 +0,结果为 +0
5、-0 加 +0,结果为 +0
6、-0 加 -0,结果为 -0
7、不自动类型转换
栗子献上:
一、某个运算数是 NaN,那么结果为 NaN
console.log(NaN + 30);//NaN
二、-Infinity 加 -Infinity,结果为 -Infinity
console.log(-Infinity + -Infinity);//-Infinity
三、Infinity 加 -Infinity,结果为 NaN
console.log(-Infinity + Infinity);//NaN
四、+0 加 +0,结果为 +0
console.log((+0) + (+0));//0
五、-0 加 +0,结果为 +0
console.log((-0) + (+0));//0
六、-0 加 -0,结果为 -0
console.log((-0) + (-0));//0
七、不自动类型转换
console.log("13" + 13);//1313
console.log("cgl" + 13);//cgl13
二、减法运算符,减法运算符(-),也是一个常用的运算符:
在处理特殊值时,减法运算符的一些特殊行为:
1、某个运算数是 NaN,那么结果为 NaN
2、Infinity 减 Infinity,结果为 NaN
3、-Infinity 减 -Infinity,结果为 NaN
4、Infinity 减 -Infinity,结果为 Infinity
5、-Infinity 减 Infinity,结果为 -Infinity
6、+0 减 +0,结果为 +0
7、-0 减 0,结果为 -0
8、+0 减 -0,结果为 +0
9、某个运算符不是数字,那么结果为 NaN
0、自动类型转换
一、某个运算数是 NaN,那么结果为 NaN
console.log(NaN - 30);//NaN
二、Infinity 减 Infinity,结果为 NaN
console.log(Infinity - Infinity);//NaN function(){???//跟单:www.gendan5.com
三、-Infinity 减 -Infinity,结果为 NaN
console.log(-Infinity - (-Infinity));//NaN
四、Infinity 减 -Infinity,结果为 Infinity
console.log(Infinity - (-Infinity));//Infinity
五、-Infinity 减 Infinity,结果为 -Infinity
console.log(-Infinity - Infinity);//-Infinity
六、+0 减 +0,结果为 +0
console.log(+0 - (+0));//0
七、-0 减 0,结果为 -0
console.log((-0) - 0);//-0
八、+0 减 -0,结果为 +0
console.log(+0 - (-0));//0
九、某个运算符不是数字,那么结果为 NaN
console.log("asd" - 123);//NaN
十、自动类型转换
console.log("124" - 123);//NaN
原文地址:https://blog.51cto.com/14513127/2440289