js变量类型基础知识整理
<script> /*alert(!!5);//true !!快速将一种变量转化成布尔类型 alert(3&&true);// true为true时,显示第二个变量的结果??? alert(true&&"abc"); //abc alert(true&&[1,2,6]);//1,2,6 alert(true&&{a:1,c:4}); //[object Object] alert(45&&0);//0 alert(!!(45&&0));//false */ /** 关于NaN,undefined,null的小总结 */ //alert(!!"");//false //alert(!!null);//false //alert(NaN == NaN);//NaN 不等于自己 ,即 NaN == NaN 是 false //alert(undefined == null );//true //var temp; //alert(typeof temp); // outputs "undefined" //alert(typeof temp2);// outputs "undefined" //alert(temp == temp2); 报错 //alert(temp2 == undefined ); 错误 temp2 未定义 不能使用除了typeof之外的来表示temp2的值 /** //null是不存在,一般在js中判断空值的作法如下 if(s==null||s==undefined||s==""){ doSomeing.......; } */ //var exp = null; //alert(!exp);//true // alert(!!exp);//false /*if (!exp && typeof exp != "undefined" && exp != 0) { alert("is null"); }*/ /** 采用如下方式代替: */ var exp = null; //alert(typeof exp);//object if (exp===null) { alert("is null"); } var a=undefined; alert(typeof a);//undefined alert(!a);//true alert(!!a);//false var e=null; alert(typeof e);//object alert(!e);//true alert(!!e);//false var c=""; alert(typeof c);//string alert(!c);//false alert(!!c);//true var d=0; alert(typeof d);//number alert(!d);//true alert(!!d);//false var b=5; alert(typeof b);//number alert(!b);//false alert(!!b);//true </script>