JavaScript之undefined的加(+)减(-)乘(*)除(/)和取模(%)运算

Posted web半晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之undefined的加(+)减(-)乘(*)除(/)和取模(%)运算相关的知识,希望对你有一定的参考价值。


1、示例代码

1.1、加(+)运算

console.log(undefined + undefined);
// NaN
console.log(undefined + null);
// NaN
console.log(null + undefined);
// NaN
console.log(undefined + NaN);
// NaN
console.log(NaN + undefined);
// NaN
console.log(undefined + true);
// NaN
console.log(true + undefined);
// NaN
console.log(undefined + false);
// NaN
console.log(false + undefined);
// NaN
console.log(undefined + 1);
// NaN
console.log(1 + undefined);
// NaN
console.log(undefined + 0);
// NaN
console.log(0 + undefined);
// NaN
console.log(undefined + 2);
// NaN
console.log(2 + undefined);
// NaN

console.log(undefined + 'true');
// undefinedtrue
console.log('true' + undefined);
// trueundefined
console.log(undefined + '0');
// undefined0
console.log('0' + undefined);
// 0undefined

console.log(undefined + []);
// undefined
console.log([] + undefined);
// undefined
console.log(undefined + [1]);
// undefined1
console.log([1] + undefined);
// 1undefined
console.log(undefined + [1, 2]);
// undefined1,2
console.log([1, 2] + undefined);
// 1,2undefined

console.log(undefined + );
// undefined[object Object]
console.log( + undefined);
// [object Object]undefined
console.log(undefined +  names: '' );
// undefined[object Object]
console.log( names: ''  + undefined);
// undefined[object Object]
console.log(undefined +  names: '159' );
// undefined[object Object]
console.log( names: '159'  + undefined);
// [object Object]undefined

1.2、减(-)运算

console.log(undefined - undefined);
// NaN
console.log(undefined - null);
// NaN
console.log(null - undefined);
// NaN
console.log(undefined - NaN);
// NaN
console.log(NaN - undefined);
// NaN
console.log(undefined - true);
// NaN
console.log(true - undefined);
// NaN
console.log(false - undefined);
// NaN
console.log(undefined - 1);
// NaN
console.log(1 - undefined);
// NaN
console.log(0 - undefined);
// NaN
console.log(2 - undefined);
// NaN

console.log(undefined - 'true');
// NaN
console.log('true' - undefined);
// NaN
console.log(undefined - '0');
// NaN
console.log('0' - undefined);
// NaN

console.log(undefined - []);
// NaN
console.log([] - undefined);
// NaN
console.log(undefined - [1]);
// NaN
console.log([1] - undefined);
// NaN
console.log(undefined - [1, 2]);
// NaN
console.log([1, 2] - undefined);
// NaN

console.log(undefined - );
// NaN
console.log( - undefined);
// NaN
console.log(undefined -  names: '' );
// NaN
console.log( names: ''  - undefined);
// NaN
console.log( names: '159'  - undefined);
// NaN

2、总结

1、undefinedundefined||null||NaN||boolean||number类型做加(+)运算,不分先后,结果都为:NaN
2、undefined字符串进行加(+)运算,不分先后,从左往右按字符串相加。
3、undefined数组进行加(+)运算时会调用.toString()方法,不分先后,结果为:''||'1,2'||'1,2,3',并从左往右按字符串相加。
4、undefined对象进行加(+)运算时会调用.toString()方法,不分先后,结果为:[object Object],并从左往右按字符串相加。
5、undefined与任何类型的数据进行减(-)||乘(*)||除(/)||取模(%)运算,不分先后,结果都为:NaN

以上是关于JavaScript之undefined的加(+)减(-)乘(*)除(/)和取模(%)运算的主要内容,如果未能解决你的问题,请参考以下文章

深入理解javascript之null和undefined

JavaScript之形参默认值实参undefined占位

JavaScript基本数据类型之Null和Undefined

JavaScript之运算符

重温js之null和undefind区别

JavaScript之深浅拷贝