深入理解Boolean對象值 和原始值

首先是要理解運算符
||是這樣運算的:從第一個開始,遇到有意義的返回,不然返回最後一個表達式(注意不必定是Boolean值); 

&&是這樣運算的:從第一個開始,遇到無心義的返回,不然返回最後一個表達式(注意同上); 

!是這樣運算的:對錶達式的值取非(注意不是對錶達式)。

而後再試着 看看下面的代碼:

var ob1 = new Boolean(false);
var ob2 = (ob1&&true);
var ob3 = (true&&ob1);
var ob4 = Boolean(ob1&&true);
var ob5 = Boolean(true&&ob1);
alert("ob2 = " + ob2 + " ob3 = " + ob3 + " ob4 = " + ob4 + " ob5 = " + ob5);


最後測試出來的結果是 
ob2 = true ob3 = false ob4 = true ob5 = true

new Boolean(),new Boolean(false)是同一個東西,因爲它是一個對象,故是有意義的,但其值爲false,因此,能夠看爲「有意義的false」,因此結果爲最後一個表達式的值。測試


原始的Boolean值和Boolean對象區別如此之大,因此切記兩者區別,不要混淆使用。編碼


一個Boolean對象,Boolean對象是對Boolean值的一個封裝。
Boolean對象:一個值爲true或false的Boolean對象。
spa


這個問題是最近在體驗一個牛客APP 作JavaScript 題目時候 遇到的 ,而後查詢了一下資料,再通常編碼的過程當中咱們仍是不會這樣去寫的,這樣寫沒有多大的意義,直接使用Boolean的原始值就能夠了,這樣寫再理解上也困難一些,意義也不大。不過偶爾裝X 仍是能夠的!
code

相關文章
相關標籤/搜索