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