对于&&和||运算符,相信大家都用过,分别进行逻辑与运算和逻辑或运算符。如果&&的第一个运算数是false,则不再考虑第二个运算数,直接返回false。如果||的第一个运算数是true,那么也不再考虑第二个运算数。
没有实践就没有发言权,demo如下:
1 | var a = true, b = false; |
执行如上代码,事实上只执行了test(1)和test(4),原理如上所述。
a&&test(1)这种运算,其实我不知道是否有个专业的名词去描述它,在javascript森林群ToFishes同学称之为“惰性运算”,那么暂且叫它“惰性运算”吧,实际上相当于if(a){test(1)}。
其中||运算符,有个很重要的应用就是给function的参数设置默认值,如:
1 | function test(param){ |