Web ページが読み込まれる前にインスタンス化される可能性がある Javascript (jQuery を使用) で表示クラスを作成しています。コンストラクターが呼び出されたときにページの準備ができていない場合、インスタンスはクラスの静的instances
フィールドに追加され、ページが読み込まれたときに繰り返されます。
function MemDisplay(ready_callback) {
this.readyCallback = ready_callback;
if (MemDisplay.ready) {
this.linkToPage();
} else {
MemDislay.instances.push(this);
}
}
//this makes sure that the ready callback can be sent when the page has loaded
MemDisplay.ready = false;
MemDisplay.instances = [];
$(document).ready(function () {
var i;
MemDisplay.ready = true;
for (i = 0; i < MemDisplay.instances.length; i += 1) {
MemDisplay.instances[i].linkToPage();
} });
//example truncated for brevity
これを JSLint で実行すると、次のエラーが発生します。
25 行目の文字 9 の問題: 'MemDislay' が定義されていません。
MemDislay.instances.push(これ);
コンストラクタで参照する必要がありますMemDisplay.instances
が、コンストラクタはMemDisplay
が定義されている場所にあるため、JSLint のガイドラインに適合しながらこれを機能させる方法について困惑しています。これを行うより良い方法はありますか?この場合、JSLint を無視する必要がありますか?