我有一个javascript对象,如下所示: -
(function ($, w, d) {
var myObject= {
init: function () {
// blablab
},
attach: {
// blablab
},
validation: {
// blablab
},
submitForm: {
// blablab
}
};
myObject.init();
window.myObject= myObject;
})(jQuery, window, document);
我将对象设为全局,因此我可以在我的应用程序中随处访问它,例如重新初始化对象。
到目前为止一切顺利但当我想直接在myObject
文件中访问全局HTML
- 对象时,它失败了,我得到了undefined
。
所以,在body
- 标签的底部,我有这个:
<script>
setTimeout(function (w) {
console.log(myObject);
// RE-INIT OBJECT HERE
}, 1000)
</script>
因此,错误消息显示:myObject is not defined
我不知道为什么会失败。有人可以帮助我吗?
答案 0 :(得分:0)
var myObject = "";
(function ($, w, d) {
myObject = {
init: function () {
// blablab
},
attach: {
// blablab
},
validation: {
// blablab
},
submitForm: {
// blablab
}
};
myObject.init();
})(jQuery, window, document);
setTimeout(function (w) {
console.log(myObject);
// RE-INIT OBJECT HERE
}, 1000)
检查脚本标记中的setTimeout是否在js导入文件之后。
答案 1 :(得分:0)
您可以像这样设置对象:
window.myObject = myObject
要在全局范围内访问此内容,您需要使用window.myObject
,如下所示:
<script>
setTimeout(function (w) {
console.log(window.myObject);
// RE-INIT OBJECT HERE
}, 1000)
</script>