在js中“||”和“&&”不只是在if语句中使用,他们还有另一种使用方法。

比如:

 

   1:  console.log(false||true);//true
   2:  console.log(false && true);//false

 

为什么会这样呢?原来系统会先判断“||”前面表达式的布尔值,是真是假。如果为真,直接返回前面的。如果为假,直接返回后面的(不会判断后面的是什么类型)

而“&&”则恰好相反。也可以这么说“||”遇到true返回,如果没有true则返回最后一个,“&&”遇到false返回,如果没有false则返回最后一个。

请看下面的:

 

   1:  var test1=true || false || true;;
   2:  console.log(test1);//true
   3:  var test2=true && false && true;
   4:  console.log(test2);//false
 
还有一点:如果“||”和“&&”混用的话“&&”的优先级高于“||”:
 
   1:  var test1=false|| false && true;
   2:  console.log(test1);//false

最后补充一点只要能转化为布尔值的都可以用上面的方法,比如null、0、1等等。

相关文章:

  • 2021-08-17
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2021-10-16
  • 2022-12-23
  • 2022-01-21
猜你喜欢
  • 2021-11-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2022-12-23
  • 2021-12-08
相关资源
相似解决方案