咱們在寫js代碼時都會趕上數據的運算,可是數據在運算時都要轉換成相同數據類型才能運算。spa
下面舉幾個例子說明在運算中數據類型的轉換:code
例1、字符串
var i = 5; var j = '5'; console.log(i+j);
打印結果是 55,說明當‘+’趕上字符串時做字符串拼接使用;
console
例2、class
var i = 5; var j = '5'; var m = 5; console.log(i+m+j);
打印結果是 105,說明第一個‘+’做加使用,第二個‘+’做字符串拼接使用;數據類型
例3、數據
var i = 5; var j = '5'; console.log(i-j);
打印結果是 0,說明出現‘-’時把字符串轉換成number數據類型使用;類型轉換
例4、co
var i = 5; var n = '5k'; console.log(n-i);
打印結果是 NaN,說明把字符串轉換成number數據類型只有純數字次才能進行成功轉換;字符
例5、
var i = 5; var k ; console.log(k-i);
打印結果是 NaN,說明undefined轉換成number數據類型就是NaN;
例6、
var k ; var h = null; console.log(k-h);
打印結果是 NaN,說明undefined轉換成number數據類型就是NaN;
例7、
var i = 5 ; var h = null; console.log(i-k);
打印結果是 5,說明null轉換成number數據類型是0;
例8、
var i = 5 ; var h = null; console.log(i+h);
打印結果是 5,說明①無字符串時‘+’是加法運算,②null轉換成number數據類型是0;
例9、
var k ; var h = null; console.log(k+h);
打印結果是 5,說明①無字符串時‘+’是加法運算,②null轉換成number數據類型是0,③undefined轉換成number數據類型就是NaN;
例10、
var k ; var p = ‘’; console.log(k+p);
打印結果是 undefined,說明即便是一個空字符串出現時 ‘+’也是作字符串拼接;
例11、
var i =false ; var j = true; console.log(i+j);
打印結果是 1,說明Boolean類型遇到‘+’時被轉換成number類型使用,其中true =1,false = 0;
小結:1.當‘+’兩端出現字符串時做拼接用;2.當‘+’兩端無字符串時做加法運算;3.當作加法運算時,其餘數據類型會轉換成number類型,undefined轉換成NaN,null轉換成0,Boolean的false=0/true=1;4.當‘-’時,數據類型都要轉換成number,字符串只有當是純數字是才能轉換成number,若不是純數字組成則轉換成NaN,其餘數據類型轉換同加法運算時。