【js】{}/[]/() &&/||/|/& undefined/null/NaN 等的运用

1.{}:用于定义一个包含不同属性的对象

  /*eg: */  var user = {};//定义一个对象,这个对象中的值是以键值对的方式储存,也可以储存函数
            user.name='jack';//保存值
            user.sex = '男';
            user.drink = function(){alert("drink")};
            console.log(user);

浏览器输出:Object {name: "jack", sex: "男", drink: function}

 

  /* eg:*/    var user = {'name':'jack','sex':'男','drink':function(){alert(‘drink’)}};   //初始化的时候就定义数值
               console.log(user);

 浏览器输出:Object {name: "jack", sex: "男", drink: function} 

2.[ ] :用于定义个数组

/* eg :*/    var array = ["jack","john","bob"];
              console.log(array);

              var array1 = new Array();
              array1[0]="jack";
              array1[1]="john";
              array1[2]="bob";
              console.log(array1);


 浏览器输出:["jack", "john", "bob"] 

                      ["jack", "john", "bob"]

3.(  )  :与匿名函数结合使用

   

        !function(){
                 alert("()");
          }();
        (function(){
                alert("a");
        })();
       (function(){
                alert("a");
        }())

     //!和()的作用是让浏览器将函数function解析成逻辑表达式先执行,然后再执行后面的().在表达式后面加上()后,
                               // 他会立即执行,也叫自执行函数(立即执行函数)
详细可以参看这里: http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html

module模式可以看这里:http://www.cnblogs.com/TomXu/archive/2011/12/30/2288372.html】

4.&& 和 || 以及 | 和 &

       ·js中的逻辑判断遵循短路原则即

            ··&&  从左到右一项 一项的执行,如果每一项都是是true,则一直执行下去,执行到最后一个,并将最后一个计算的结果返回;如果中途遇到了false,则返回false,不再向下执行

            ··||  从左到右一项一项的执行,如果该项的执行结果为false,则继续执行下去,执行到最后一个都是false,则返回false;如果中途执行结果为true,则将该项执行结果返回。

     ·栗子

            var a = 4>3&&5&&4;//4
            var b = 3>4&&5;//false
            var c = 4>3&&5>4;//true
            var d = 4>3||5;//true
            var e = 3>4||5||5>4;//5
            var f = 4>3||5<4||3;//true

        ·|  &  不属于短路运算符,在js中|是按位或的意思,&是按位与的意思,要转换为二进制之后再按位运算

  如:10&3 →1010 & 0011 →0010 答案为2;


5.undefined/null/NaN

         ·首先undefined/null/NaN 在进行逻辑判断时都返回false

         ·typeof:一种元运算符,返回一个字符串,该字符串说明运算数的类型,有六种可能返回值

                 ··①object   ②number  ③boolean  ④function  ⑤string  ⑥undefined

            var a = 0/0 ;
            var b = null;
            var c;
           alert(typeof a);//NaN 为 number
           alert(typeof b);//null /[] /{}为 object
           alert(typeof c);//undefined
           alert(typeof "abc");//string
           alert(typeof true);//boolean
           alert(typeof function(){});//function
         ·如何去判断

                ··判断undefined

            var a;
            var b = undefined;
            if(typeof a =="undefined"){//建议使用此方法
                alert("undefined 1");
            }
            if(b==undefined){     //不建议使用,虽然此时也可以通过。如果此时b为未声明,则会报错,而typeof不会报错,也不会判断通过;
                                    //另外==还会牵扯到类型转换的问题
                alert("undefined 2");
            }
                      ··判断null:此处要注意 undefined == null返回true

            var a = null;
            if(!a && typeof a != "undefined" && a!=0){
                alert("null");
            }

                       ··判断NaN

            var a = 0/0;
            if(isNaN(a)){
                alert("NaN");
            }
                         

                        ··null 和undefined时通过,利用null == undefined

           var temp;
          if(temp ==null){//或者temp == undefined
                alert("true);
          }

               ···null/undefined/NaN  ,一般使用这个方法足够了

            var a = null;
            if(!a && a != 0){
                alert("true");
            }


         ·涉及到的== 和===的区别

                 ··==  若比较的两个属于不同数据类型,则会进行强制类型转换成同一种类型,再进行比较值是否相等

                 ··=== 若比较的两个属于不同数据类型,则直接返回false,若为同一类型则直接比较值是否相等


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值