今天看到
Oo緣來(lái)是你oO
的博客,關(guān)于Boolean 類型一些問(wèn)題如下:
正文:
JavaScript中的Boolean類型
1.???我們所熟悉的
var x = false;
var y = true;
這是我們大家都熟悉的,此時(shí)我們使用的是原始的Boolean值(the primitive Boolean values )true和false
2.???我們很少用到的
var xObject = new Boolean(false);
var yObject = new Boolean(true);
此時(shí)我們聲明了一個(gè)Boolean對(duì)象,Boolean對(duì)象是對(duì)Boolean值的一個(gè)封裝。
Boolean對(duì)象:一個(gè)值為true或false的Boolean對(duì)象。
原始的Boolean值和Boolean對(duì)象是有區(qū)別的,不要相互混淆,引用Core JavaScript 1.5 Reference中的一句話: Do not confuse the primitive Boolean values true and false with the true and false values of the Boolean object.
3.???區(qū)別
區(qū)別(1):???聲明形式
區(qū)別(2):???在條件語(yǔ)句(condition statement)中
輸出結(jié)果:
區(qū)別(3):初始化Boolean對(duì)象
聲明一個(gè)Boolean對(duì)象,如果我們用一個(gè)值為false的Boolean對(duì)象對(duì)其進(jìn)行初始化,則新的Boolean對(duì)象的值為true
Oo緣來(lái)是你oO 的博客中 馬嘉楠 ?遇到這個(gè)問(wèn)題,查了一些資料才知道,學(xué)無(wú)止境啊。可是我的問(wèn)題依然沒有解決。
我的問(wèn)題是關(guān)于Boolean對(duì)象的初始化。代碼如下,
結(jié)果:
問(wèn)題已經(jīng)解決:
||是這樣運(yùn)算的:從第一個(gè)開始,遇到有意義的返回,否則返回最后一個(gè)表達(dá)式(注意不一定是Boolean值);
&&是這樣運(yùn)算的:從第一個(gè)開始,遇到無(wú)意義的返回,否則返回最后一個(gè)表達(dá)式(注意同上);
!是這樣運(yùn)算的: 對(duì)表達(dá)式的值取非(注意不是對(duì)表達(dá)式)。
什么是無(wú)意義呢:如下六個(gè) 0,null,undefined,"",false,NaN。除此,視為有意義。
new Boolean(),new Boolean(false)是同一個(gè)東西,由于它是一個(gè)對(duì)象,故是有意義的,但其值為false,所以,可以看為“有意義的false”,所以結(jié)果為最后一個(gè)表達(dá)式的值。
正文:
JavaScript中的Boolean類型
1.???我們所熟悉的
var x = false;
var y = true;
這是我們大家都熟悉的,此時(shí)我們使用的是原始的Boolean值(the primitive Boolean values )true和false
2.???我們很少用到的
var xObject = new Boolean(false);
var yObject = new Boolean(true);
此時(shí)我們聲明了一個(gè)Boolean對(duì)象,Boolean對(duì)象是對(duì)Boolean值的一個(gè)封裝。
Boolean對(duì)象:一個(gè)值為true或false的Boolean對(duì)象。
原始的Boolean值和Boolean對(duì)象是有區(qū)別的,不要相互混淆,引用Core JavaScript 1.5 Reference中的一句話: Do not confuse the primitive Boolean values true and false with the true and false values of the Boolean object.
3.???區(qū)別
區(qū)別(1):???聲明形式
區(qū)別(2):???在條件語(yǔ)句(condition statement)中
var
?x?
=
?
false
;
var ?xObject? = ? new ?Boolean( false );
if (x)
????alert( " x?=?true " );
else
????alert( " x?=?false " );
if (xObject)
????alert( " xObject?=? " ? + ?xObject? + ? " ,?but?in?the?condition?statement,?the?xObject?value?is?evaluated?to?true " );
else
????alert( " xObject?=?false " );
var ?xObject? = ? new ?Boolean( false );
if (x)
????alert( " x?=?true " );
else
????alert( " x?=?false " );
if (xObject)
????alert( " xObject?=? " ? + ?xObject? + ? " ,?but?in?the?condition?statement,?the?xObject?value?is?evaluated?to?true " );
else
????alert( " xObject?=?false " );
輸出結(jié)果:
x?
=
?
false
xObject? = ? false,??but?in?the?condition?statement,?the?xObject?value?is?evaluated?to?true
xObject? = ? false,??but?in?the?condition?statement,?the?xObject?value?is?evaluated?to?true
區(qū)別(3):初始化Boolean對(duì)象
聲明一個(gè)Boolean對(duì)象,如果我們用一個(gè)值為false的Boolean對(duì)象對(duì)其進(jìn)行初始化,則新的Boolean對(duì)象的值為true
var
?xObject?
=
?
new
?Boolean(
false
);
var ?resXObject? = ? new ?Boolean(xObject);
alert( " The?resXObject?value?is? " ? + ?resXObject);
var ?resXObject? = ? new ?Boolean(xObject);
alert( " The?resXObject?value?is? " ? + ?resXObject);
Oo緣來(lái)是你oO 的博客中 馬嘉楠 ?遇到這個(gè)問(wèn)題,查了一些資料才知道,學(xué)無(wú)止境啊。可是我的問(wèn)題依然沒有解決。
我的問(wèn)題是關(guān)于Boolean對(duì)象的初始化。代碼如下,
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);
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);
結(jié)果:
ob2?
=
?
true
?ob3?
=
?
false
?ob4?
=
?
true
?ob5?
=
?
true
問(wèn)題已經(jīng)解決:
||是這樣運(yùn)算的:從第一個(gè)開始,遇到有意義的返回,否則返回最后一個(gè)表達(dá)式(注意不一定是Boolean值);
&&是這樣運(yùn)算的:從第一個(gè)開始,遇到無(wú)意義的返回,否則返回最后一個(gè)表達(dá)式(注意同上);
!是這樣運(yùn)算的: 對(duì)表達(dá)式的值取非(注意不是對(duì)表達(dá)式)。
什么是無(wú)意義呢:如下六個(gè) 0,null,undefined,"",false,NaN。除此,視為有意義。
new Boolean(),new Boolean(false)是同一個(gè)東西,由于它是一個(gè)對(duì)象,故是有意義的,但其值為false,所以,可以看為“有意義的false”,所以結(jié)果為最后一個(gè)表達(dá)式的值。