使用 ===, 則不會進行類型轉換,類型不一樣,確定不相等。 正則表達式
最近忽然發現本身寫的JavaScript代碼比較臃腫,因此開始研究JavaScript的簡寫方法。這樣一來,可讓咱們的JavaScript代碼看起來比較清爽,同時也能夠提升咱們的技術。那麼判斷爲空怎麼簡寫呢? 對象
下面就是有關判斷爲空的簡寫方法。 ip
代碼以下 字符串
if (variable1 !== null || variable1 !== undefined || variable1 !== '') { string
var variable2 = variable1; 變量
} object
上面的意思是說若是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]。