/
-
%
++
--
==
!=
函數
上面的運算符都會觸發隱式類型轉換.code
+
優先進行 字符串鏈接 操做.對象
var a = '20'; typeof (+a) ; // Number 20;
var a = '20'; var b = 20; typeof (a+b) ; // String 2020;
當要轉換的值是至少有一個字符的字符串、非 0 數字或對象時,Boolean() 函數將返回 true。字符串
若是該值是空字符串、數字 0、undefined 或 null,它將返回 false。class
var b1 = Boolean(""); //false - 空字符串 var b2 = Boolean("hello"); //true - 非空字符串 var b1 = Boolean(50); //true - 非零數字 var b1 = Boolean(null); //false - null var b1 = Boolean(0); //false - 零 var b1 = Boolean(new object()); //true - 對象
轉換的是整個值,而不是部分值.(這就是與parseInt
和 parseFloat
不一樣之處)object
栗子:類型轉換
Number('11hi');// NaN parseInt('11hi'); // 11
Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number("1.2") 1.2 Number("12") 12 Number("1.2.3") NaN Number(new object()) NaN Number(50) 50
把任何值轉換成字符串co
toString
的區別使用 String()
時, null
和 undefined
值強制類型轉換能夠生成字符串而不引起錯誤:字符
調用toString()
時, null
和 undefined
發生錯誤.數字
栗子:
String(null);// 'null' String(undefined) // 'undefined' null.toString(); // 報錯 undefined.toString(); // 報錯