Javascript 为什么jsHint不';“检测不到错误”;是否未定义;?
我试图在我的项目中使用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(); })(); 这个块应
(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()代码>它仍然未被检测到。但我可能错了。当然,但关键是在所有场景中都很难捕捉到它,特别是在动态属性分配和对象属性工作方式下,所以它似乎没有尝试。