JavaScript 邏輯
javascript 邏輯
javascript 布爾(邏輯)代表兩個值之一:true 或 false。
1. 布爾值
通常,在編程中,您會需要只能有兩個值之一的數據類型,比如
- yes / no
- on / off
- true / false
鑒于此,javascript 提供一種布爾數據類型。它只接受值 true 或 false。
2. boolean() 函數
您可以使用 boolean() 函數來確定表達式(或變量)是否為真:
范例
boolean(10 > 9) // 返回 true
或者甚至更簡單:
范例
(10 > 9) // 也返回 true 10 > 9 // 也返回 true
3. 比較和條件
js 比較這一章列出了完整的比較運算符。
js 條件這一章列出了完整的條件語句。
下面是一些例子:
運算符 | 描述 | 范例 |
---|---|---|
== | 等于 | if (day == "monday") |
> | 大于 | if (salary > 9000) |
< | 小于 | if (age < 18) |
表達式的布爾值是 javascript 比較和條件的基礎。
4. 所有具有“真實”值的即為 true
范例
100 3.14 -15 "hello" "false" 7 + 1 + 3.14 5 < 6
5. 所有不具有“真實”值的即為 false
0(零)的布爾值為 false:
var x = 0;
boolean(x); // 返回 false
-0 (負零)的布爾值為 false:
var x = -0;
boolean(x); // 返回 false
""(空值)的布爾值為 false:
var x = "";
boolean(x); // 返回 false
undefined 的布爾值是 false:
var x;
boolean(x); // 返回 false
null 的布爾值是 false:
var x = null;
boolean(x); // 返回 false
false 的布爾值(正如您猜到的)是 false:
var x = false;
boolean(x); // 返回 false
nan 的布爾值是 false:
var x = 10 / "h";
boolean(x); // 返回 false
6. 布爾可以是對象
通常 javascript 布爾是由字面量創建的原始值:
var x = false
但是布爾也可以通過關鍵詞 new 作為對象來定義:
var y = new boolean(false)
范例
var x = false; var y = new boolean(false); // typeof x 返回 boolean // typeof y 返回 object
不要創建布爾對象。它會拖慢執行速度。
new 關鍵詞會使代碼復雜化,并產生某些意想不到的結果:
當使用 == 運算符時,相等的布爾是相等的:
范例
var x = false;
var y = new boolean(false);
// (x == y) 為 true,因為 x 和 y 擁有相等的值
當使用 === 運算符時,相等的布爾是不相等的,因為 === 運算符需要在類型和值兩方面同時相等。
范例
var x = false;
var y = new boolean(false);
// (x === y) 為 false,因為 x 和 y 的類型不同
或者甚至更糟。對象無法進行比較:
范例
var x = new boolean(false);
var y = new boolean(false);
// (x == y) 為 false,因為對象無法比較
比較兩個 javascript 對象將始終返回 false。