一.值类型之间的数据类型转换:
(1)数字和字符串使用+运算符:
数字和字符串如果使用+运算符进行操作,那么会将数字先转换为字符串,然后进行字符串连接操作:
var str = "string text "; var num = 10; console.log(str + num) // "string text 10"
(2)布尔值参与的+运算符操作:
如果有布尔型参与,那么首先会将布尔值转换为对应的数字或者字符串,然后再进行相应的字符串连接或者算数运算。
var num = 12; var bool = true; var str = "text"; console.log(num + bool) //13 console.log(str + bool) // "text true"
(3)Null和Undefined参与的+运算符操作
如果和数字进行计算,null会转化为0,undefined会转化成NaN
注意:Null转换为0,Undefined转换成NaN
console.log(undefined + 1) //NaN console.log(null + 1) // 1
首先调用string()方法,取得相应的字符串值再进行操作
var a; var str='123'; console.log(a + str);//'undefined123' var a=null; var str='123'; console.log(a + str);//'null123'
(4)==等性运算:
undefined和null比较特殊,它们两个使用==运算符返回值是true。
其他值类型(Number、Boolean、Null、Undefined)进行比较的时候都会将运算数转换为数字
console.log(undefined == null); // true console.log("1" ==true); //true