$(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 無論後邊是...