<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>