js 隐式转换
其它类型转换成布尔类型
1.未声名的变量名 undefined=>false
2.变量名为 null 为空 null=>false
3.number 0 , 0.0 ,0/0 ,NaN =>false
4.空字符串 ""=>false
5.其它对象 =>true
1 <script> 2 var a; //=>声名变量未赋值 3 a= null; //=>声名一个变量名赋值为空 4 a= 0; 5 a=0.0; //=>四种number类型赋值转换为布尔类型都为FALSE 6 a=0/0; 7 a=NaN 8 a=""; //=>赋值为空字符串 9 if(a){ 10 alert(true) 11 }else{ 12 alert(false) 13 } 14 </script>
其它类型转换为数值型(number)
1.undefined =>NaN
2.null => 0
3.true =>1
4.false =>0
5.字符串类型: 如果是字母字符串 var a ="abcd" =>NaN
如果字符串中包含的为纯数字 var a ="123" =>123
把数字字符串转换为number型
var a="10"
var a =a*1
alert(typeof a) 此时就转换为number类型
1 <script> 2 //以上alert返回值 3 var a; //=>NaN 1+NaN,任何数字加上NaN都返回NaN 4 a = null; //=> 1 null转换为0 5 a = true; //=> 2 true转换为1 6 a = false; //=> 1 false转换为0 7 a = "123" //=> 1123 "123"转换为123 特殊的转换类型,字符串拼接 typeof返回类型是字符串类型 8 a = "abcd" //=> NaN 转换为NaN 9 alert(1+a) 10 </script>
其它类型转换为字符串类型
undefined =>"underfined" null =>"null"
true =>"true" false =>"false"
(number) =>"number" 0.0 =>"0" 0/0 =>"NaN" NaN=>"NaN"
1 <script> 2 document.write(undefined) //=>"undefined" 3 document.write(null) //=>"null" 4 document.write(true) //=>"true" 5 document.write(false) //=>"false" 6 document.write(123) //=>"123" 7 document.write(0.0) //=>"0" 8 document.write(NaN) //=>"NaN" 9 document.write(0/0) //=>"NaN" 10 </script>