JavaScript 有两个值,表示“无”,undefined
和null
. 比因为它是每个变量的默认值undefined
具有更强的“无”含义。除非设置为,否则null
没有变量可以是,但默认情况下是变量。null
null
undefined
var x;
console.log(x === undefined); // => true
var X = { foo: 'bar' };
console.log(X.baz); // => undefined
如果你想检查某个东西是否是undefined
,你应该使用===
because ==
is not good 来区分它和null
.
var x = null;
console.log(x == undefined); // => true
console.log(x === undefined); // => false
但是,这可能很有用,因为有时您想知道某物是否是undefined
或 null
,因此您可以if (value == null)
测试它是否是。
最后,如果你想测试一个变量是否存在于范围内,你可以使用typeof
. 这在测试旧版浏览器中可能不存在的内置插件时会很有帮助,例如JSON
.
if (typeof JSON == 'undefined') {
// Either no variable named JSON exists, or it exists and
// its value is undefined.
}