JavaScript的隐式类型转换

来源:互联网 发布:域名注册网络公司 编辑:程序博客网 时间:2024/05/21 19:33

一、JavaScript的数据类型弱类型,在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换的,如下是数值类型和布尔类型的相加:

1+true//2

 

二、比如-, *, /,%等算术运算符都会把操作数转换成数字的,但是“+”号就有点不一样了,有些情况下,它是算术加号,有些情况下,是字符串连接符号,具体的要看它的操作数,如下:

 

2+1//3

hello+world//hello world

但是,如果字符串和数字相加,会是怎样的结果呢?JavaScript会自动把数字转换成字符的,不管数字在前还是字符串在前;

需要注意的是,“+”的运算方向是从左到右的,如下:

3+4+2”;//72

 

三、我们可以通过函数判断是否NaN,如下:

function isReallyNaN(x){return x!==x;}

 

1 0