/
-
%
++
--
==
!=
函数
上面的运算符都会触发隐式类型转换.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(); // 报错