を明らかに「未定義」の警告を投げ:JSHintはJSHintでこのコードを実行するとき、私はいくつかの「未定義の」エラーを取得していますモジュールパターン
MERLIN.namespace('MERLIN.http');
MERLIN.http = function ($, window) {
'use strict';
// import dependencies
function request(config) {
if (!config || typeof config !== 'object') {
return;
}
// perform request
$.ajax({
type: config.type || 'GET',
url: config.url,
dataType: config.dataType,
data: config.data || {},
processData: config.process || false,
beforeSend: function() {
indicator(config.panel, config.indicator);
},
complete: function() {
indicator(config.panel, config.indicator);
},
success: function (resp) {
var callback = config.success || null;
if (typeof callback !== 'function') {
callback = false;
}
if (callback) {
callback.apply(this, [resp]);
}
},
error: function (xhr, textStatus, errorThrown) {
httpError({
xhr: xhr,
status: textStatus,
error: errorThrown,
panel: config.panel
});
}
});
};
function indicator(panel, type) {
if ((!panel || typeof panel !== 'string') || (!type || typeof type !== 'string')) {
return;
}
var indicatorType = (type === 'large') ? type = 'indicatorLarge' : type = 'indicatorSmall';
return $(panel).toggleClass(indicatorType);
};
function httpError() {
return this;
};
return {
request: request,
error: httpError
};
} (jQuery, this);
未定義のエラーは「指標」のためにスローされている理由は、私はわかりません「httpError」と、なぜ「これを返す」の使用が潜在的な厳格な違反であるのか。私は、汎用名前空間関数が別のファイルで先に定義されているので、名前空間に関する未定義のエラーを安全に無視できることを知っています。
これは、プラグマティズムと厳格な検証の単なるケースですか?
おかげ:) 'indicator' is not defined.
と同様のエラーについて
実際のエラーを引用してください。 –