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>

 

posted @ 2013-11-06 23:30  烫烫烫烫  阅读(187)  评论(0编辑  收藏  举报