什么是 JavaScript 中的逻辑或运算符 (||)?
在本教程中,我们将讨论 JavaScript 中的逻辑或 (||) 运算符。
逻辑或运算符用于一组操作数,如果其中任何一个操作数为真,它将返回 true,否则当所有操作数都不为真时,它将返回 false。如果逻辑或运算符用于布尔值,它将返回布尔值。否则,如果将其用于非布尔值,它将返回非布尔值或该集合中为真的操作数的值,因为它们都必须具有二进制形式的值,1 表示真,0 表示假。
语法
以下语法将用于在 JavaScript 中实现逻辑或运算符以检查任何一组操作数 −
operand1 || operand2
在上述语法中,如果 operand1 或 operand2 或两者均为真,则逻辑或运算符将返回真。否则,当所有操作数都不为真时,它将返回假。
一些非布尔值,但如果它们作为非布尔操作数的值出现,逻辑或运算符将返回假 -
- 0
- NaN
- null
- undefined
- 空字符串 ( " ", ' ' , ` `)
让我们借助代码示例了解逻辑或运算符的实际实现。
示例 1
如果两个操作数中的任何一个非零,则条件变为真。以下是如何在 JavaScript 中使用运算符 || −
<html> <body> <script> var a = true; var b = false; document.write("(a || b) => "); result = (a || b); document.write(result); </script> </body> </html>
示例 2
以下示例将向您展示如何将逻辑或运算符与非布尔值结合使用 -
<!DOCTYPE html> <html> <body> <h2>Logical OR operator (||) in JavaScript</h2> <p> Enter two numbers: </p> <input type = "number" id = "inp1"> <br> <br> <input type = "number" id = "inp2"> <br> <p> Click to see the result of Logical OR Operator (||) of above inputs. </p> <button onclick = "display()"> Show Result </button> <p id = "result"></p> <script> var result = document.getElementById("result"); function display() { var inp1 = document.getElementById("inp1"); var inp2 = document.getElementById("inp2"); var val1 = Number(inp1.value); var val2 = Number(inp2.value); var res = val1||val2 result.innerHTML += "<br>Result: " + res ; } </script> </body> </html>
在上面的例子中,我们定义了isEven()函数,它返回非布尔值,如果数字为奇数则返回 0,如果数字为偶数则返回 1。此外,我们在display()函数中使用了这个函数,该函数与两个操作数相关联的逻辑或运算符,一个是这个isEven()函数,另一个是输入数字等于零。如果这些操作数或条件中的任何一个变为真,逻辑或运算符将返回真。
让我们再看一个实现逻辑或运算符的例子,其中它与布尔值一起使用。
算法
上面的例子和这个例子的算法几乎相似;你只需要做一些小的改变。你需要用true和false替换isEven()函数的返回值。您必须将 return 1 替换为 return true,将 return 0 替换为 return false,如下例所示。
示例 3
以下示例将说明逻辑或运算符与布尔值的行为或用法 −
<!DOCTYPE html> <html> <body> <h2> Check if number if odd or even using Logical OR operator (||)</h2> <input type="number" id="inp1"> <br> <p> Click to see the result of Logical OR Operator (||) of above input. </p> <p id="result"></p> <button onclick="display()"> Show Result </button> <script> var result = document.getElementById("result"); function isEven(num) { if (num % 2 == 0) { return true; } else { return false; } } function display() { var inp1 = document.getElementById("inp1"); var val1 = Number(inp1.value); if (isEven(val1) || val1 == 0) { result.innerHTML += " <b> The number " + val1 + " you entered as the input is an even number. </b> <br> "; } else { result.innerHTML += " <b> The number " + val1 + " you entered as the input is an odd number. </b> <br> "; } } </script> </body> </html>
在此示例中,我们使用布尔值通过 isEven() 函数检查输入数字是奇数还是偶数。您可以清楚地看到,即使在更改返回值后,该示例的工作方式也与上一个示例类似。
在本教程中,我们了解了 JavaScript 中的逻辑或 (||) 运算符是什么,以及如何借助两个不同的代码示例使用它来查看逻辑或运算符在不同类型返回值的情况下的行为,一个是布尔值的情况,另一个是使用非布尔值实现的。