JavaScript从入门到精通(微视频精编版)
上QQ阅读APP看书,第一时间看更新

2.5 数据类型的转换规则

视频讲解

在对表达式进行求值时,通常需要所有的操作数都属于某种特定的数据类型,例如,进行算术运算要求操作数都是数值类型,进行字符串连接运算要求操作数都是字符串类型,而进行逻辑运算则要求操作数都是布尔类型。

然而,JavaScript语言并没有对此进行限制,而且允许运算符对不匹配的操作数进行计算。在代码执行过程中,JavaScript会根据需要进行自动类型转换,但是在转换时也要遵循一定的规则。下面介绍几种数据类型之间的转换规则。

 其他数据类型转换为数值型数据,如表2.10所示。

表2.10 转换为数值型数据

 其他数据类型转换为逻辑型数据,如表2.11所示。

表2.11 转换为逻辑型数据

 其他数据类型转换为字符串型数据,如表2.12所示。

表2.12 转换为字符串型数据

例如,根据不同数据类型之间的转换规则输出以下表达式的结果:100+"200"、100-"200"、true+100、true+"100"、true+false和"a"-100。代码如下:

    01  document.write(100+"200");   //输出表达式的结果
    02  document.write("<br>");       //输出换行标记
    03  document.write(100-"200");    //输出表达式的结果
    04  document.write("<br>");       //输出换行标记
    05  document.write(true+100);     //输出表达式的结果
    06  document.write("<br>");       //输出换行标记
    07  document.write(true+"100");   //输出表达式的结果
    08  document.write("<br>");       //输出换行标记
    09  document.write(true+false);   //输出表达式的结果
    10  document.write("<br>");       //输出换行标记
    11  document.write("a"-100);      //输出表达式的结果

运行结果为:

    100200
    -100
    101
    true100
    1
    NaN