一、JavaScript的数据类型弱类型,在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换的,如下是数值类型和布尔类型的相加:
1+true;//2
二、比如-, *, /,和%等算术运算符都会把操作数转换成数字的,但是“+”号就有点不一样了,有些情况下,它是算术加号,有些情况下,是字符串连接符号,具体的要看它的操作数,如下:
2+1;//3
“hello”+“world”;//hello world
但是,如果字符串和数字相加,会是怎样的结果呢?JavaScript会自动把数字转换成字符的,不管数字在前还是字符串在前;
需要注意的是,“+”的运算方向是从左到右的,如下:
3+4+“2”;//72
三、我们可以通过函数判断是否NaN,如下:
function isReallyNaN(x){
return x!==x;
}