邏輯操作符
&&(與)、||(或)、!(非)
邏輯與(&&)
只有兩個條件同時滿足的時候才會返回true,兩個條件都是假的返回的結果是false
即:一假即假
當邏輯語操作不是布林值的時候,返回值就不一定是布林值,
可分為以下幾種情況
1、當第乙個運算元據是物件時,返回第二個運算元據的值。
2、當第二個運算元據為物件時,如果第乙個運算元據的值為true,則返回物件的值,如果為false,則返回false。
3、當兩個運算元據都是為物件時,會返回第二個運算元據的值。
4、如果運算元據有乙個為空(null),則最終結果為null。
5、如果運算元據有乙個為(nan),則最終結果為nan。
6、如果運算元據有乙個為(undefined),則最終結果為undefined。
var bool =
true
;var bool1 =
false
;console.
log(bool && bool1)
;//false
if(bool && bool1)
邏輯或(||)
只要當兩個條件有乙個滿足,就會返回true,兩個條件都是假的返回的結果是false
即一真即真
當邏輯或操作不是布林值的時候,返回值就不一定是布林值,
可分為以下幾種情況
1、當第乙個運算元據是物件時,返回第乙個運算元據的值。
2、當第二個運算元為物件時,則第乙個運算元為true,返回true;為假的時候返回第二個運算元。
3、、當兩個運算元據都是為物件時,會返回第乙個運算元據的值。
邏輯非(!)
就是取反,即true取反false或false取反true,就是真變假,假變真
!bool
可以通過!!把其他型別的值轉換為布林值。
比如:var str = 「null」;
console.log(!!str);//true
var bool2 =
false
; console.
log( bool1 || bool2)
;//false
console.
log(bool || bool1)
;//true
console.
log(
!bool)
;//false
console.
log(bool1 && bool2)
;//false
var obj =
newobject()
;var str =
"123"
; console.
log(obj && bool2)
;//false
console.
log(obj && str)
;//123
console.
log(bool1 && obj)
;//false
console.
log(bool && obj)
;//{}
var str = bool && obj;
var obj1 =
console.
log(obj && obj1)
;var str =
null
; console.
log(str && bool)
;//null
var str1 =
nan;
console.
log(str1 && bool1)
;//nan
var str2 = undefined;
console.
log(str2 && bool)
;//undefined
console.
log(str1 && str2)
;//nan
console.
log(obj || bool)
;//{}
var str =
"null"
; console.
log(
boolean
(str));
//true
console.
log(
!str)
;//false
console.
log(
!!str)
;//true
邏輯操作符
邏輯操作符 只要有乙個條件不成立,返回false 說明 在有乙個運算元不是布林值的情況,邏輯與操作就不一定返回值,此時它遵循下列規則 1 如果第乙個運算元隱士型別轉換後為true,則返回第二個運算元。說明 規則是兩個運算元的情況。例子 console.log 80 50 返回結果 50 2 如果第乙...
關係操作符和邏輯操作符
關係操作符和邏輯操作符使用算術或指標型別的運算元,並返回bool 型別的值。操作符功能用法 logical not 邏輯非 expr less than 小於 expr expr less than or equal 小於等於 expr expr greater than 大於 expr expr ...
邏輯或操作符
邏輯或操作符 邏輯或操作符,相當於生活中的 或者 當兩個條件中有任乙個條件滿足,邏輯或 的運算結果就為 真 例如 本週我們計畫出遊,可是周一至周五工作,所以週六或者週日哪天去都可以。即兩天中只要有一天有空,就可以出遊了。var a 3 var b 5 var c c b a a b b a是true...