if (variable1 !== null || variable1 !== undefined || variable1 !== '') { var variable2 = variable1; }
上面的意思是說(shuō)如果variable1不是一個(gè)空對(duì)象,或者未定義,或者不等于空字符串,那么聲明一個(gè)variable2變量,將variable1賦給variable2。也就是說(shuō)如果variable1存在那么就將variable1的值賦給variable2,若不存在則為空字符串。如下面的簡(jiǎn)寫代碼。
簡(jiǎn)寫代碼:
代碼如下
var variable2 = variable1 || '';
以下是不正確的方法:
代碼如下
var exp = null; if (exp == null) { alert("is null"); }
exp 為 undefined 時(shí),也會(huì)得到與 null 相同的結(jié)果,雖然 null 和 undefined 不一樣。注意:要同時(shí)判斷 null 和 undefined 時(shí)可使用本法。
代碼如下
var exp = null; if (!exp) { alert("is null"); }
如果 exp 為 undefined,或數(shù)字零,或 false,也會(huì)得到與 null 相同的結(jié)果,雖然 null 和二者不一樣。注意:要同時(shí)判斷 null、undefined、數(shù)字零、false 時(shí)可使用本法。
代碼如下
var exp = null; if (typeof exp == "null") { alert("is null"); }
為了向下兼容,exp 為 null 時(shí),typeof null 總返回 object,所以不能這樣判斷。
代碼如下
var exp = null; if (isNull(exp)) { alert("is null"); }
判斷字符串是否為空
s 匹配任何空白字符,包括空格、制表符、換頁(yè)符等等。等價(jià)于 [ fnrtv]。 很多情況下,都是用length來(lái)直接判斷字符串是否為空,如下:
代碼如下
var strings = ''; if (string.length == 0) { alert('不能為空'); }
但如果用戶輸入的是空格,制表符,換頁(yè)符呢?這樣的話,也是不為空的,但是這樣的數(shù)據(jù)就不是我們想要的吧。
其實(shí)可以用正則表達(dá)式來(lái)把這些“空”的符號(hào)去掉來(lái)判斷的
代碼如下
var strings = ' '; if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) { alert('不能為空'); }
s 小寫的s是,匹配任何空白字符,包括空格、制表符、換頁(yè)符等等。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com