关于逻辑运算符 ,逻辑运算符用于测定变量或值之间的逻辑

在JavaScript中,  ||  和  &&  都是逻辑运算符,用于在从左至右计算时,返回第一个可完全确定的“逻辑值”。

或 || 运算符。在 X||Y 的表达式中,首先计算 X 并将其解释执行为一个布尔值。

如果这个布尔值true,那么返回true(1),不再计算 Y ,因为“或”的条件已经满足。

如果这个布尔值为false,那么我们仍然不能知道 X||Y 是真是假,直到我们计算 Y ,并且也把它解释执行为一个布尔值。

因此, 0||1 的计算结果为true(1),同理计算 1||2 。 

与 && 运算符。在 X&&Y 的表达式中,首先计算 X  并将其解释执行为一个布尔值。

如果这个布尔值为 false,那么返回 false(0),不再计算 Y ,因为“与”的条件已经失败。

如果这个布尔值为true,但是,我们仍然不知道 X&&Y 是真是假,直到我们去计算 Y ,并且也把它解释执行为一个布尔值。 .

不过,关于 && 运算符有趣的地方在于,当一个表达式计算为“true”的时候,那么就返回表达式本身。

这很好,虽然它在逻辑表达式方面计算为“真”,但如果你希望的话也可用于返回该值。这就解释了为什么,有些令人奇怪的是, 1 && 2返回 2,而不是你以为的可能返回 true 或 1。

  

console.log( 0 || 1 ); //1
console.log( 1 || 2 );  //1
console.log( 0 && 1 ); //0
console.log( 1 && 2 ); //2

原文地址:https://www.cnblogs.com/lxl0419/p/9447507.html