检查JavaScript变量是否为null?

时间:2014-06-17 13:36:58

标签: javascript html null var

我使用以下代码行来检查JS变量' userName'是或否。 但我总是得到alert "not empty"

请检查我的onready方法:

$("document").ready(function (){
    var userName = "";
    if (userName == undefined || userName == null) {
        alert('empty');
    } else {
        alert('not empty');
        var div = document.getElementById('title b');
        div.innerHTML = div.innerHTML + ','; 
    }
});

5 个答案:

答案 0 :(得分:1)

您将var userName设置为""永远不会成为null

将您的变量声明为var userName;,而不是var userName = "";

但是,除非您实际使用userName执行某项操作,否则if / else将毫无意义。

答案 1 :(得分:1)

空字符串不为空也不是未定义。

您可以使用!运算符进行检查:

if (!userName) {
   // Do the stuff
}

为了完整性:

!"" == true
!null == true
!undefined == true
!"hi" == false

请注意:

!0 == true
!1 == false
!"0" == false
!"1" == false

答案 2 :(得分:1)

没有你的变量既不是未定义也不是null。

你可以做的就是替换这一行

if (userName == undefined || userName == null) {

通过这一行

if (!userName) {

答案 3 :(得分:1)

您需要typeof个关键字来检查其类型。 !userName会处理其余的事情,例如null或空值。

if ( typeof userName === 'undefined' || !userName ) {
    alert('empty');
}

答案 4 :(得分:1)

尝试

var userName = "";
    if (userName.length < 1) {
        alert('empty' +"\n"+ userName.length);
    } else {
        alert('not empty');
        var div = document.getElementById('title b');
        div.innerHTML = div.innerHTML + ','; 
    }