javascript邏輯運算符有:1、邏輯與運算符“&&”;2、邏輯或運算符“||”;3、邏輯非運算符“!”,會把數(shù)據(jù)轉(zhuǎn)化為布爾值,然后取反,結(jié)果為true或false。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦
javascript邏輯運算符
JavaScript 中的邏輯運算符可用來確定變量或者是值之間的邏輯關(guān)系。通常用于布爾型值,會返回一個布爾值true
或 false
。
運算符 | 描述 |
---|---|
&& | and |
|| | or |
! | not |
&&
、||
運算符能夠使用非布爾值的操作數(shù),此時會返回一個非布爾型值。
布爾值
在 JavaScript 中提供了一種布爾數(shù)據(jù)類型,只接受值 true
或 false
。我們可以通過 Boolean()
函數(shù)來確定表達式(或變量)的值為 true
還是 false
。
示例:
將下面代碼在瀏覽器中執(zhí)行,將彈出一個顯示 true
的彈出層:
alert(Boolean(7 > 2));
這表示 7 > 2
的結(jié)果為真值,當然7本來就比2大,如果是反過來7 > 2
,那么瀏覽器會顯示false。
邏輯與操作符
邏輯與 &&
操作符,如果第一個操作數(shù)為 true
,計算結(jié)果就是第二個操作數(shù)。如果第一個操作數(shù)為 false
,結(jié)果就是 false
(特殊數(shù)值除外)。
示例:
console.log(true && true); // true 操作數(shù)為true則結(jié)果為第二個操作數(shù) console.log(true && false); // false console.log(true && 10); // 10 console.log(true && (4 > 7)); // false console.log(false && 10); // false 操作數(shù)為false則結(jié)果為false console.log(false && ""); // false console.log(" " && 0); // 0 console.log(2 && 7); // 7
會被轉(zhuǎn)換為false的表達式:
null
NaN
0
- 空字符串(
""
、''
、“) undefined
邏輯或操作符
邏輯或 ||
操作符,如果第一個操作數(shù)能夠轉(zhuǎn)為 true
(不是 false
),結(jié)果就是第一個操作數(shù),否則結(jié)果是第二個操作數(shù)。
示例:
console.log(true || true); // true 第一個操作數(shù)為true則結(jié)果為第一個操作數(shù) console.log(true || false); // true console.log(true || 10); // true console.log(true || (4 > 7)); // true console.log(false || 10); // 10 第一個操作數(shù)不是true,則結(jié)果為第二個操作數(shù) console.log(false || ""); // console.log(false || 0); // 0 console.log(0 || 7); // 7
邏輯非操作符
邏輯非 !
操作符,首先把數(shù)據(jù)轉(zhuǎn)化為布爾值,然后取反,結(jié)果為 true
或 false
。
示例:
例如true
本來就是布爾值,取反會得到 false
。false
取反會得到 true
:
console.log(!true); // false console.log(!false); // true console.log(!0); // true console.log(!""); // true console.log(![1, 2, 3]); // false
數(shù)字 0
可以化為布爾值 false
,取反結(jié)果為 true
。""
空字符串也是同理,先化為 false
再取反得到 true
。數(shù)組[1, 2, 3]
化為布爾值 true
,取反得到 false
。