扒開jquery以及其他一些js框架原始碼,常常能看到下面這樣的判斷,寫慣了c#高階語言語法的我,一直以來沒能系統的理解透這段**。
var此處就系統的記錄一下這個js特殊值與boolean型別的轉換,測試**與結果如下test; //
do something...
if(test)
window.onload = function() ;
console.group("js中特殊值與bool的轉換");
undefined ? console.info("undefined is true") : console.info("undefined is false");
null ? console.info("null is true") : console.info("null is false");
minusnum ? console.info("負數 is true") : console.info("負數 is false");
zero ? console.info("zero(數字0) is true") : console.info("zero(數字0) is false");
判斷自然離不開==,同時引用記錄一下。原文:
1、對於string,number等基礎型別,==和===是有區別的
1)不同型別間比較,==之比較「轉化成同一型別後的值」看「值」是否相等,===如果型別不同,其結果就是不等
2)同型別比較,直接進行「值」比較,兩者結果一樣
2、對於array,object等高階型別,==和===是沒有區別的
進行「指標位址」比較
3、基礎型別與高階型別,==和===是有區別的
1)對於==,將高階轉化為基礎型別,進行「值」比較
2)因為型別不同,===結果為false
1、typeof用於檢查變數的資料型別,返回乙個字串。
typeof 返回字串,有7種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" 、"symbol",
typeof 檢查的變數是乙個物件,或者是 null,那它就會返回 object。
2、instanceof是為了看乙個變數是否是某個物件的例項,返回乙個布林值。
instanceof只能用來判斷物件和函式等物件型別,不能用來判斷字串和數字等基礎型別。
JS 判斷空值
1 typeof用法 typeof的運算數未定義,返回的就是 undefined 運算數為數字 typeof x number 字串 typeof x string 布林值 typeof x boolean 物件,陣列 和 null typeof x object 函式 typeof x funct...
JS 判斷是否為數字 數字型特殊值
isnan x x是數字型的時候 也就是它不是非數字 它的返回值為 false x是非數字型的時候 它的返回值為 true 用來判斷乙個變數是否為非數字的型別,返回 true 或者 false var usrage 21 console.log isnan userage false 21 不是乙個...
JS的邏輯判斷值
我們經常在做邏輯判定時會根據判定值的布林型別來區分操作,即如果是 則 不然則 的邏輯語境,但由於js的弱型別特性,它可以利用不同型別的值來替代布林值。如 if false if if undefined if null if 0 效果相同。但是,這裡面又有哪些陷阱呢?這些值中 0 false tru...