JavaScript 中的短路求值

javascriptweb developmentobject oriented programming更新于 2025/8/30 9:48:17

短路求值基本上与 && 和 || 逻辑运算符一起使用。表达式 从左到右求值。

对于 && 运算符 − 使用 &&(AND) 逻辑运算符的短路求值意味着如果第一个表达式求值为假,则整个表达式将为假,其余表达式将不求值。

对于 || 运算符 − 使用 ||(OR) 逻辑运算符的短路求值意味着如果第一个表达式求值为真,则整个表达式将为真,其余表达式将不求值。

以下是 JavaScript 中短路求值的代码 −

示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 20px;
      font-weight: 500;
      color: blueviolet;
   }
</style>
</head>
<body>
<h1>Short-circuit evaluation</h1>
<div class="result"></div>
<br />
<button class="Btn">&& short circuit evaluation</button>
<button class="Btn">|| short circuit evaluation</button>
<h3>Click on the above button to see the the short circuit evaluation</h3>
<script>
   let resEle = document.querySelector(".result");
   let BtnEle = document.querySelectorAll(".Btn");
   function retTrue() {
      resEle.innerHTML += "True <br>";
      return true;
   }
   function retFalse() {
      resEle.innerHTML += "False <br>";
      return false;
   }
   BtnEle[0].addEventListener("click", () => {
      resEle.innerHTML = "&& evaluation<br>";
      retFalse() && retTrue();
   });
   BtnEle[1].addEventListener("click", () => {
      resEle.innerHTML = "|| evaluation <br>";
      retTrue() || retFalse();
   });
</script>
</body>
</html>

输出

单击“&& 短路​​评估” 按钮 −

单击‘|| 短路评估” 按钮 −


相关文章


有用资源