巧用”&&”和”||”

对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。

没有实践就没有发言权,demo如下:

  1. var a = true, b = false;
  2. function test(param){
  3.   alert(param);
  4. }
  5. a && test(1);
  6. b && test(2);
  7. a || test(3);
  8. b || test(4);

执行如上代码,事实上只执行了test(1)和test(4),原理如上所述。

a&&test(1)这种运算,其实我不知道是否有个专业的名词去描述它,在javascript森林群ToFishes同学称之为“惰性运算”,那么暂且叫它“惰性运算”吧,实际上相当于if(a){test(1)}。

其中||运算符,有个很重要的应用就是给function的参数设置默认值,如:

  1. function test(param){
  2.     param = {
  3.         name: param.name || "zhenn",
  4.         age: param.age || 25
  5.     }
  6.     alert(param.name + " is " + param.age + " years old.")
  7. }
  8. test({});

以上内容,针对刚入门javascript的童鞋们,大湿级的淫们可以直接skip.

标签:

6 条评论 发表在“巧用”&&”和”||””上

  1. simaopig 说:

    呵呵。参数赋予默认值。

    PS:你这个javascript森林群 号码是多少啊?我也感兴趣。呵呵。

    另外你界面改版了我居然不知道。。呼。

    [回复]

  2. simaopig 说:

    对方拒绝加入成员。。呜。。。

    [回复]

    zhenn 回复:

    从关于我页面中,加我扣扣吧

    [回复]

  3. simaopig 说:

    我之前咋能忘了要加你QQ。。。呼。

    [回复]

  4. popo 说:

    最常用的还是 a||xxx
    js的惰性函数和这个惰性运算,是一个很好的特性

    [回复]

留下回复