上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