您的位置:首页 > Web前端 > JavaScript

JavaScript基础之数据类型的隐式转换

2016-09-18 21:11 477 查看
原生js中,有3种基本的数据类型和2种特殊的类型,对于初学者来说,类型之间的隐式转换是一个难题,今天我们就来讲讲js中隐式类型转换的特点。

在js中隐式类型的转换都是发生在变量进行运算的时候,那么隐式类型转换和运算符之间的关系就变的十分密切。

1. 当 运算符是 + 时,只要有一个操作数是字符串,那么就会把另外一个操作数隐式转换为字符串,然后将两个字符串连接起来,组成一个新的字符串,这个我们可以记忆为:字符串的同化作用,字符串遇 + 同化就会起作用

alert( "10"+ true);  //10true
alert( "10"+ null);  //10null
alert( "10"+ 10);   //1010

2. 当运算符是非+时,即 - 、*、 /、 % 这些运算符时,js会默认的将运算符两边的操作数都转换为 数字型,然后进行减乘除的运算 ,这个我们可以记忆为:数字的同化作用,因为只有数字才会有减法,乘法,除法运算

alert("10"-null);  //10
alert("10"*true);  //10
alert("10"/"2");   //5
alert("10"%"6");   //4


隐式转换错误的时候,一般发生在将其他类型转换为数字时,如果不能转换为数字,则会报NaN错误。

alert("10px"*10);  // NaN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript