/*
! 非運算
!就是對乙個布林值進行取反操作,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...