美文网首页javascript基础入门
Javascript - 逻辑与(&&)和逻辑非(||)

Javascript - 逻辑与(&&)和逻辑非(||)

作者: 厦门_小灰灰 | 来源:发表于2019-11-12 21:10 被阅读0次

1、比较的两者都是boolean
2、比较的两者是其他类型

总结:逻辑与(&&)和逻辑非(||),当运算到某一个变量就得出最终结果之后,就返回哪个变量。

比较的两者都是boolean

//逻辑与
console.log( true && true );  //true
console.log( true && false );  //false
console.log( false && true );  //false
console.log( false && false );  //false

//逻辑或
console.log( true || true );  //true
console.log( true || false );  //true
console.log( false || true );  //true
console.log( false || false );  //false

总结:

  • 逻辑与,两者都为true,结果才是true。
  • 逻辑或,只要有一者为true,结果就是true。

这里说一个概念 - 短路
逻辑与:当前者的值为false的时候,其实就不执行后者;因为结果已经是false
逻辑或:当前者的值为true的时候,其实就不执行后者;因为结果已经是true

简单示例:

//逻辑与
console.log( true && alert("halo1") );  //会弹出提示框
console.log( false && alert("halo2") );  //不会弹出提示框

//逻辑或
console.log( true || alert("halo3") );  //不会弹出提示框
console.log( false || alert("halo4") );  //会弹出提示框

比较的两者是其他类型

以下内容会被当成false处理:"" , false , 0 , null , undefined , NaN

//逻辑与
console.log("name" && "age");  //"age"
console.log(false && "name");  //false

//逻辑或
console.log("name" || "age");  //"name"
console.log(true || "age");  //true

通用的总结:

  • a && b,当a为true的时候,这时候需要判断b是否为true,所以不管b是true是false,都返回b;
    当a为false的时候,无论b是true是false结果都是false,所以返回a;

  • a || b,当a为true的时候,无论b是true是false结果都是true,所以返回a;
    当a为false的时候,时候需要判断b是否为true,所以不管b是true是false,都返回b;

相关文章

网友评论

    本文标题:Javascript - 逻辑与(&&)和逻辑非(||)

    本文链接:https://www.haomeiwen.com/subject/egtcictx.html