|
function foo() {
var temp = Boolean.valueOf('<%=JavaBoolean%>');
alert(temp == false);
}
Java變量JavaBoolean是一個(gè)字符串,它的值是"false",本來(lái)我以為肯定輸出true,但結(jié)果卻false,真是郁悶至極。
剛剛查了一下《Javascript權(quán)威指南》,才茅塞頓開。原來(lái)是這樣的:
如果是想將其它類型轉(zhuǎn)為布爾型,應(yīng)該用Boolean(value)或new Boolean(value),Boolean.valueOf()這個(gè)方法是對(duì)象才有的,并不是Boolean的靜態(tài)方法,還有一點(diǎn)很重要:0、 NaN、null、空字符串和undefined都將轉(zhuǎn)換成false,其它原始值,除了false(但包含字符串"false"),以及其它的對(duì)象和數(shù)組都將轉(zhuǎn)換為true。
看到這里,你應(yīng)該覺得被js忽悠了一把也是值的吧?
JavaScript技術(shù):Javascript 布爾型分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。