如何在js中检查null和undefined?

时间:2010-05-18 18:45:23

标签: javascript

是否可以在javascript中检查null和undefined?

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

}

5 个答案:

答案 0 :(得分:7)

在JavaScript(pre ECMAScript 5)中,undefined不是常量,而是全局变量,因此可以更改其值。因此,使用typeof运算符检查undefined

会更可靠
if (typeof _var === 'undefined') { }

此外,如果未声明变量_var,则表达式将返回ReferenceError。但是,您仍然可以使用typeof运算符对其进行测试,如上所示。

因此,您可能更愿意使用以下内容:

if (typeof _var === 'undefined' || _var === null) { }

答案 1 :(得分:4)

但是使用==运算符并不是必需的。使用foo == null也是如此,foo未定义。但请注意,undefined和null或不是(!)相同。这是因为==确实键入了coooion,foo == null也适用于foo未定义。

答案 2 :(得分:1)

if (!_var) {
    // Code here.
}

这应该有效,因为undefinednull都被强制转换为false

当然,如果_var实际上是false,则存在一个小问题,但是它很有效,因为在大多数情况下,您会想知道_var是否不是true而不是{{1}}一个对象。

答案 3 :(得分:0)

你也可以在mootools中使用$defined函数(在jquery中必须有一个等价物)

答案 4 :(得分:0)

var valuea: number;
var valueb: number = null;

function check(x, name) {
    if (x == null) {
        console.log(name + ' == null');
    }

    if (x === null) {
        console.log(name + ' === null');
    }

    if (typeof x === 'undefined') {
        console.log(name + ' is undefined');
    }
}

check(a, 'a');
check(b, 'b');