Javascript 为什么jsHint不';“检测不到错误”;是否未定义;?

Javascript 为什么jsHint不';“检测不到错误”;是否未定义;?,javascript,jshint,Javascript,Jshint,我试图在我的项目中使用jsHint。但对我来说,这显然不起作用。例如: (function () { if (!window.myApp) window.myApp = {}; var myApp = window.myApp; var a = function (key) { key = key || "key"; return myApp.someModule.get(key); }; a(); })(); 这个块应

我试图在我的项目中使用jsHint。但对我来说,这显然不起作用。例如:

(function () {
    if (!window.myApp) window.myApp = {};
    var myApp = window.myApp;
    var a = function (key) {
        key = key || "key";
        return myApp.someModule.get(key);
    };

    a();
})();

这个块应该抛出错误,类似这样:“TypeError:myApp.someModule未定义”,但jsHint仍然保持沉默。我使用来自的jsHint的默认设置。有人能帮我吗?非常感谢。

可以肯定的是,它只检查“局部”范围内的变量,不会一直检查对象链。事实上,我认为不可能在所有情况下都能检测到

考虑:

var o = {};
someAjaxRequest({
    callback: function(response) { 
        o[response.responseText] = 'found!';
    }
});

可能您没有设置
undef
选项?看一看文档:太奇怪了,不是吗?:)但显然这就是原因。谢谢不是真的,如果不实际运行代码,完全弄清楚它几乎是不可能的。我将用一个例子更新我的帖子。我认为,当某个对象的方法未定义时,jsHint应该检测到这种情况。在您的示例中,如果我添加字符串
var a=o[“h”].method()它仍然未被检测到。但我可能错了。当然,但关键是在所有场景中都很难捕捉到它,特别是在动态属性分配和对象属性工作方式下,所以它似乎没有尝试。