我的应用程序具有以下结构
window.object1;
window.object2;
$(document).ready(function() {
window.object1 = new type1object();
});
function type1object() {
//lots of code
this.property = 'property';
window.object2 = new type2object();
}
function type2object() {
//lots of code
this.property = new type3object();
}
function type3object() {
//lots of code
console.log(window.object1);
this.property = window.object1.property;
}
问题是,每当我尝试从文档就绪回调以外的任何地方访问 window.object1 时,它都会返回为未定义,即使当我检查 DOM window.object1 时,它的定义完全符合我的预期。
我尝试过与上面相同的操作,但使用简单的全局变量(即 var object1 而不是 window.object1)...尝试在不同的地方为 object1 和 object2 声明初始虚拟值...但遇到了同样的问题.
有谁知道为什么我不能全局访问我的全局变量?