我正在用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(this);
我需要MemDisplay.instances
在构造函数中引用,但是构造函数是在哪里MemDisplay
定义的,所以我很困惑如何在符合 JSLint 准则的同时使其工作。有一个更好的方法吗?在这种情况下我应该忽略 JSLint 吗?