JS邏輯運算子

2021-10-16 13:05:02 字數 1371 閱讀 4716

/* 

! 非運算

!就是對乙個布林值進行取反操作,true變false,false變true

-如果對乙個值進行兩次取反,它不會變化

-如果對非布林值進行運算,則會將其轉換成布林值,然後再取反

所以可能利用這一特點將其他資料型別轉換為布林值

為任意資料型別取兩次反,轉換為布林值

*/var a =10;

// a = "hello";

// a = undefined;

// a = null;

// console.log(a);

// console.log(typeof a);

// a = !!a;

// console.log(a);

// console.log(typeof a);

/*

&& 與運算

&&可以對符號兩側的值進行運算並返回結果

-只要有乙個false,則返回false.(都為真才是真)

-js中的「與」屬於短路與,如果第乙個值為false,則不會看第二個值

*/// var result = false && true;

// console.log("result = " + result);

/*

|| 或運算

||可以對符號兩側的值進行運算並返回結果

-只要有乙個true,則返回true.(都假才假)

-js中的「或」屬於短路或,如果第乙個值為true,則不會看第二個值

*//*

&& || 非布林值的情況

-對於非布林值進行運算時,會先將其轉換為布林值,再運算,並返回原值

-與運算:

如果果兩個值都為true,則返回後邊的。

如果有乙個值為false,則返回靠前的false的值。

-或運算:

如果果兩個值都為false,則返回後邊的。

如果有乙個值為true,則返回第乙個true的值。

(ps:運算在哪中止,就返回哪個值)

*///返回2

var result =1&&

2;//返回0

result =0&&

2;//返回nan

result =

nan&&0;

//返回1

result =1||

2;//返回undefined

result =

0|| undefined;

//返回2

result =

nan||2;

console.

log(

"result = "

+ result)

;

js邏輯運算子

1 運算方法 如果前邊是 false 無論後邊是false或者true,返回的都是後邊的值 如果前邊是 true 無論後邊是false還是true,返回的都是前邊值 真前假後 2 運算方法 如果前邊是 false 無論後邊是false還是true,返回的都是前邊的值 如果前邊是 true 無論後邊是...

js 比較運算子 邏輯運算子

運算子 運算子 1.純數字,加法數 算 2.加好左右只要有字串都得字串 字串鏈結 如 var a 1 1 a 1 1 document.write a 此時輸出2a11 在計算機中可以除0,任何數除0都得無窮。無窮 infinity 0除0得nan 非數,非數也是數 運算子 a 即 a 1 即 a ...

js中邏輯運算子

1.短路原理 1.1.只要 前面為false。不管 後面是true還是false,都返回 後面的值 1.2.只要 前面為true。不管 後面是true還是false。都返回 前面的值。alert true false true alert false true true alert true tru...