Javascript短路运算符

2021年3月16日16:24:54 发表评论 1,459 次浏览

下面是短路运算符的示例。

JavaScript短路中, 从左到右评估表达式, 直到确认其余条件的结果不会影响已经评估的结果。如果在完全计算表达式之前仍清楚结果, 则表示短路并返回结果。短路评估可避免不必要的工作, 并提高处理效率。

AND(&&)短路:在AND的情况下, 表达式将一直求值, 直到得到一个错误的结果为止, 因为结果将始终为false, 与其他条件无关。如果存在一个带有&&(逻辑AND)的表达式, 并且第一个操作数本身为false, 则发生短路, 不对另一个表达式求值, 并返回false。

例子:使用AND(&&)运算符进行短路。

<script>
  
// Since first operand is false and operator
// is AND, Evaluation stops and false is
// returned.
console.log( false && true && true && false )
  
// Whole expression will be evaluated.
console.log( true && true && true )
</script>

输出如下:

false
true

OR(||)短路:如果是OR, 则对表达式进行求值, 直到获得一个真实结果为止, 因为该结果始终为true, 而与其他条件无关。如果存在带有||(逻辑OR)的表达式, 并且第一个操作数本身为true, 则发生短路, 评估停止, 并返回false。

例子:使用OR(||)进行短路。

<script>
  
// First operand is true and operator is ||, // evaluation stops and true is returned.
console.log( true || false || false )
  
// Evaluation stops at the second operand(true).
console.log( false || true || true || false )
</script>

输出如下:

true
true

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: