- 1、null的加(+)运算
- 2、null的减(-)运算
- 3、null的减(*)运算
- 4、null的减(/)运算
- 5、null的减(%)运算
1.1、null与undefined||NaN进行加(+)运算,不分先后,结果为:NaN。 1.2、null与null||boolean||number进行加(+)运算,不分先后,结果为:数字类型的数据,注意正负。 1.3、null与字符串进行加(+)运算,不分先后,结果为字符串相加,包括字符串类型的数字。 1.4、null与数组进行加(+)运算时会调用.toString()方法,不分先后,结果为:''||'1,2'||'1,2,3',并从左往右按字符串相加。 1.5、null与对象进行加(+)运算时会调用.toString()方法,不分先后,结果为:[object Object],并从左往右按字符串相加。
2、null的减(-)运算2.1、null与undefined||NaN||对象||数组(除[]||[1]||['3']外),因为这些数据类型不能正常转为数字类型的字符串,所以进行减(-)运算时,不分先后,结果为:NaN。 2.2、null与能转换为数字类型的数据进行减(-)运算,不分先后,结果为数字类型的数据,注意正负。 console.log(null - ''); // 0 console.log(null - []); // 0 console.log(null - [1]); // -1 2.3、值得注意的是'true'||'false'是不能正常转为1 || 0。这两个值与'1'||'0'的转换方式不同,'1'||'0'可以转为1||0。
3、null的减(*)运算3.1、null与undefined||NaN||对象||数组(除[]||[1]||['3']外),因为这些数据类型不能正常转为数字类型的字符串,所以进行乘(*)运算时,不分先后,结果为:NaN。 3.2、null与能转换为数字类型的数据进行乘(*)运算,不分先后,结果为:0。
4、null的减(/)运算4.1、null作为除数时,与true||大于0的数字类型数据||[1]进行除(/)运算时结果为:Infinity。 4.2、null作为被除数时,与大于0的数字类型数据进行除(/)运算时,结果为:0。 4.3、其余情况的除(/)运算结果为:NaN。
5、null的减(%)运算5.1、null作为被除数时,与true||大于0的数字类型数据||[1]进行取模(%)运算时结果为:0。 5.2、其余情况的取模(/)运算结果为:NaN。