关于javascript中||与&&在函数调用中的使用

“||”的使用:

在javascript以及许多语言中,||(逻辑或)运算符,作用是:对两个表达式取或运算
result = expression1 || expression2
如果expression1与expression2中有一个为true时result就为true。

这里注意:“||”运算符与“|”运算符不同。||具有短路特性,即当expression1为true时,那么expression2将不会在被执行。
       对此我们就可以借用这个特性,如下:
function a(){
    this.b = this.b || "test";
}
a();
我们可以看到,当函数第一次被调用时,因为this.b为null,所以就会执行第二个表达式,给b赋值为“test”。
这样我们利用这个特性就实现了对b进行初始化,对于这种用法有些时候会很好的解决一些全局变量泛滥的问题。

"&&"的使用:

在javascript以及许多语言中,&&(逻辑与)运算符,作用是:对两个表达式取与运算
result  =  expression1  ||  expression2
当expression1与expression2都为为true时result才为true。
这里注意:“&&”运算符与“&”运算符不同。&&也是具有短路特性,即当expression1为false时,那么expression2将不会在被执行。
这样我们也可以利用这个特性来完成我们的一些工作,如下:
function a(cb){
    cb && cb();
}
cb = function(){
    alert("cb");
};
a();
a(cb);
我们可以看到,a函数需要一个参数cb,cb为一个函数。当执行a();时。cb没有被传过去,那么cb就为null(false)了。从而cb();也就不会执行了。
当执行到a(cb)时,cb存在了所以为true,那么第二个表达式cb();就会执行。从而避免了错误的发生。如果在a函数中不使用&&运算,直接调用cb()
的话就会发生cb不是函数的错误。

希望对大家有帮助。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值