js中的邏輯運算子

2022-04-05 06:12:47 字數 1431 閱讀 1427

$(function

()

else

if (0)

else

if(undefined)

else

//if (a)

else

if (null

) else

console.info("time" || null

);

//time

console.info("" || null

);

//null

console.info(null || "");

//空字串

vara;

console.info(a);

//undefined

a = a ||;

console.info(a);

///**

** undefined的含義其實是定義了乙個引用,但是引用沒有之上任何變數

* 例如:var a; a的含義就是undefined、

** 但是如果你直接使用 aa, 沒有 var aa; 那麼瀏覽器會直接報錯

* 火狐報的錯是 referenceerror: aa is not defined

* 也就是說if(aa){} 或者 aa = aa || ; 瀏覽器都會報錯(引用錯誤)

** 但是,aa="string"; 這種使用方法是沒有錯誤的!

**///

aa = "string";console.info(aa);-->string

console.info(aa);

//referenceerror: aa is not defined

});

上面**在火狐上產生的效果如下圖:

總結下來就是:

在js 中, 空字串、null、undefined、0 都代表false。

在學習c++的時候,我們知道,邏輯運算子有「截斷」(忘了叫什麼名字了)的特性:或運算子||  當第一次遇見true的時候,就不在往下面執行了!

那麼在js中也只這樣的。

console.info("time" || null

);//

time time代表true,後面就不執行了,返回time

console.info("" || null

);//

null "" 代表false,繼續執行,返回null

console.info(null || "");//

空字串 null 代表false,繼續

執行,返回""

a = a ||;

那麼這句話的意思就是 如果a未定義就建立乙個陣列物件!

js中邏輯運算子

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

JS邏輯運算子

非運算 就是對乙個布林值進行取反操作,true變false,false變true 如果對乙個值進行兩次取反,它不會變化 如果對非布林值進行運算,則會將其轉換成布林值,然後再取反 所以可能利用這一特點將其他資料型別轉換為布林值 為任意資料型別取兩次反,轉換為布林值 var a 10 a hello a...

js邏輯運算子

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