1.利用Boolean對象進行轉換
復制代碼 代碼如下:
var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true
2. 利用兩個'!'運算符,第一個'!'將值轉換成布爾值並取其值的非值,第二個'!'將其布爾值還原,類似於“負負得正”的道理。
復制代碼 代碼如下:
var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = !!(num123); //true num0 = !!(num0); //false str = !!(str); //true o = !!(o); //true
得到的結果同方法1.
最後要知道:任意的javascript的值都可以轉換成布爾值。下面這些值會被轉換成false:
復制代碼 代碼如下:
undefined,null,0,-0,NaN,"" //空字符串
需要注意的是'0'這個僅僅包含0的字符串會轉成true!
補充一下null和undefined的特殊性:
復制代碼 代碼如下:
null == undefined //true null === undefined //false