undefined
技术上可以重新定义,所以它不是保留字。结果,我通常在一个匿名函数中编写代码,强制undefined
成为一个未定义的变量,如下所示:
(function (undefined) {
"use strict";
var o = {
test: "testvalue"
};
if (o.test === undefined) {
// Do stuff here
} else {
// Do other stuff there
}
}());
但是,JSLint提到了以下错误:
Problem at line 1 character 15: Expected an identifier and instead saw 'undefined' (a reserved word).
undefined
当代码可以任意重新定义变量时,为什么 JSLint 抱怨是保留字?我知道你可以使用typeof x === "undefined"
; 我只是想看看为什么这种方法行不通。