&&

最近在看书,看到类似于 这样的代码 return a && b


&& 表示逻辑与(and)  当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
这只是它最简单的理解。看简单的应用。


if (a && b) {  //do something}    也就是当a 和 b都为真的时候,才会执行 {} 里的语句。

对于 a && b 用于函数或者赋值的时候,这时候,应该这么理解,如果a和b均为数值或字符串时,且a为真的时候(不是null,undefined,0,false etc),会返回b(或者返回b的值),否则,会返回一个假 (null,false,undefined之类) ;如果a或b为布尔值或者同时均为布尔值时,会返回一个布尔值。



我们看简单的代码,帮助理解
例子1:
var a = 1 && "abc";
  alert(a);
  var b = 0 && 1;
  alert(b);
会弹出两个窗口,第一个是abc,第二个是0 。 对于 var b = 0 && 1; 你可以设置为 var b = null && 1 ; 或undefined , 都会输出假。


例子2:
  function func() {
      this.hello=function () {alert("hello");};
 this.a="testing";
  }
  var a = new func();
  function returnValue() {
 this.v="v";
 var i=10;
      return this.p && a.a;
  }
alert(returnValue());

这时候,会弹出undefined   .


例子3:

  var a = 1 && 9; 
  var b = a>0 && a !=1;
  alert(b);

会弹出true ,实际上,对于a>0 和a!= 1来说,都是判断,就会返回布尔值,所以,b得到的必然是布尔值。 如果
 var b = a>0 && false;

必然b会得到false 这个布尔值。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值