Почему jsHint не обнаруживает ошибку "не определено"? - PullRequest
0 голосов
/ 18 октября 2011

Я пытался использовать 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 от http://jshint.com/.Кто-нибудь может мне помочь?Большое спасибо.

1 Ответ

1 голос
/ 18 октября 2011

Совершенно уверен, что он проверяет только переменные в «локальной» области видимости, он не проверяет все цепочки объектов. На самом деле я бы сказал, что невозможно обнаружить во всех случаях.

Рассмотрим:

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