js判斷為空Null與字符串為空簡寫方法


原:http://www.jb51.net/article/47234.htm

最近突然發現自己寫的JavaScript代碼比較臃腫,所以開始研究JavaScript的簡寫方法。這樣一來,可以讓我們的JavaScript代碼看起來比較清爽,同時也可以提高我們的技術。那么判斷為空怎么簡寫呢?
下面就是有關判斷為空的簡寫方法。
代碼如下:

  if (variable1 !== null || variable1 !== undefined || variable1 !== '') { var variable2 = variable1; } 

上面的意思是說如果variable1不是一個空對象,或者未定義,或者不等於空字符串,那么聲明一個variable2變量,將variable1賦給variable2。也就是說如果variable1存在那么就將variable1的值賦給variable2,若不存在則為空字符串。如下面的簡寫代碼。
簡寫代碼:
代碼如下:

  var variable2 = variable1 || ''; 

以下是不正確的方法:
代碼如下:

  var exp = null; if (exp == null) { alert("is null"); } 

exp 為 undefined 時,也會得到與 null 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 null 和 undefined 時可使用本法。
代碼如下:

  var exp = null; if (!exp) { alert("is null"); } 

如果 exp 為 undefined,或數字零,或 false,也會得到與 null 相同的結果,雖然 null 和二者不一樣。注意:要同時判斷 null、undefined、數字零、false 時可使用本法。
代碼如下:

  var exp = null; if (typeof exp == "null") { alert("is null"); } 

為了向下兼容,exp 為 null 時,typeof null 總返回 object,所以不能這樣判斷。
代碼如下:

  var exp = null; if (isNull(exp)) { alert("is null"); } 

判斷字符串是否為空
s 匹配任何空白字符,包括空格、制表符、換頁符等等。等價於 [ fnrtv]。 很多情況下,都是用length來直接判斷字符串是否為空,如下:
代碼如下:

  var strings = ''; if (string.length == 0) { alert('不能為空'); } 

但如果用戶輸入的是空格,制表符,換頁符呢?這樣的話,也是不為空的,但是這樣的數據就不是我們想要的吧。
其實可以用正則表達式來把這些“空”的符號去掉來判斷的
代碼如下:

  var strings = ' '; if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) { alert('不能為空'); } 

s 小寫的s是,匹配任何空白字符,包括空格、制表符、換頁符等等。等價於 [ fnrtv]。
判斷為空怎么簡寫,就為大家介紹到這里,希望上面的方法能對大家有所幫助。

: str.replace(/(^\s*)|(\s*$)/g, "")) != ""

 
本文鏈接: https://www.cnblogs.com/daysme/p/6979231.html
轉載請注明出處[我的過去_博客園]: http://www.cnblogs.com/daysme/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM