JavaScript 运算符&&和|| 及其优先级

转载:https://blog.csdn.net/inuyasha1121/article/details/46604601

逻辑与&&和逻辑或||操作符可以应用于任何类型的操作数,而不仅仅是布尔值。

  几乎所有语言中||和&&都遵循“短路”原理, 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。js同样也遵循上述原则:

  • 当逻辑或||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。
  • 当逻辑与&&时,找到为false的分项就停止处理,并返回该分项的值。
 var a = "" || null || 3 || 4;//3
 alert(a);
 var b = 4 && 5 && null && "0";//null
 alert(b);
&& 优先级高于 ||
alert((1 && 3 || 0) && 4); //结果4
alert(1 && 3 || 0 && 4); //结果3

猜你喜欢

转载自blog.csdn.net/qq_38719039/article/details/81298700