Javascript 布爾型分析
更新時間:2008年12月22日 15:39:18 作者:
今天在做景德鎮(zhèn)的企業(yè)等級功能的時候,遇到一個很有趣的問題。在一個jsp頁面里,我需要把一個java的字符串轉(zhuǎn)為js的布爾型。
本來我以為js的布爾型轉(zhuǎn)換跟java一樣,畢竟大家同一個祖宗嘛,以下是我的寫法。
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)方法,還有一點(diǎn)很重要:0、 NaN、null、空字符串和undefined都將轉(zhuǎn)換成false,其它原始值,除了false(但包含字符串"false"),以及其它的對象和數(shù)組都將轉(zhuǎn)換為true。
看到這里,你應(yīng)該覺得被js忽悠了一把也是值的吧?
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)方法,還有一點(diǎn)很重要:0、 NaN、null、空字符串和undefined都將轉(zhuǎn)換成false,其它原始值,除了false(但包含字符串"false"),以及其它的對象和數(shù)組都將轉(zhuǎn)換為true。
看到這里,你應(yīng)該覺得被js忽悠了一把也是值的吧?
相關(guān)文章
javascript創(chuàng)建和存儲cookie示例
javascript創(chuàng)建和存儲cookie,cookie是存儲于訪問者的計算機(jī)中的變量,下面看一下使用示例吧2014-01-01簡單學(xué)習(xí)JavaScript中的for語句循環(huán)結(jié)構(gòu)
這篇文章主要介紹了簡單學(xué)習(xí)JavaScript中的for語句循環(huán)結(jié)構(gòu),是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-11-11微信公眾號開發(fā) 自定義菜單跳轉(zhuǎn)頁面并獲取用戶信息實(shí)例詳解
這篇文章主要介紹了微信公眾號開發(fā) 自定義菜單跳轉(zhuǎn)頁面并獲取用戶信息實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12判斷js中各種數(shù)據(jù)的類型方法之typeof與0bject.prototype.toString講解
提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大寫,像JSON這種甚至都是大寫,所以,大家判斷的時候可以都轉(zhuǎn)換成小寫,以防出錯2013-11-11javascript getElementsByName()的用法說明
當(dāng)頁面上的控件同名且多個的時候,你首先做的是什么?判斷長度?的確,從程序的嚴(yán)密角度出發(fā),我們是需要判斷長度,而且有長度和沒長度是兩種引用方法.2009-07-07Javascrip基礎(chǔ)之for循環(huán)和數(shù)組
這篇文章主要為大家介紹了Javascrip之for循環(huán)和數(shù)組,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12