如何使javascript对象全局可用
How to make javascript object acessible globally
我有一个javascript对象,看起来像:-
(function ($, w, d) {
var myObject= {
init: function () {
// blablab
},
attach: {
// blablab
},
validation: {
// blablab
},
submitForm: {
// blablab
}
};
myObject.init();
window.myObject= myObject;
})(jQuery, window, document);
我将对象设为全局,因此我可以在整个应用程序中的任何地方访问它,例如重新初始化对象。到目前为止一切顺利,但是当我想直接在HTML
文件中访问全局myObject
对象时,它失败了,我得到了undefined
.
所以,在body
标签的底部,我有这个:
<script>
setTimeout(function (w) {
console.log(myObject);
// RE-INIT OBJECT HERE
}, 1000)
</script>
因此,错误消息显示:myObject is not defined
我不知道为什么会失败。有人可以帮助我吗?
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 导入文件之后。
你这样设置你的对象:
window.myObject = myObject
要在全局范围内访问它,您需要使用如下window.myObject
:
<script>
setTimeout(function (w) {
console.log(window.myObject);
// RE-INIT OBJECT HERE
}, 1000)
</script>
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- javascript无法重新定义函数内部的全局对象
- Javascript,从静态函数中打印全局对象
- 为什么“this”指的是全局对象
- Do let语句在全局对象上创建属性
- underscore.js,名为“”的全局对象;出口;和livefyre javascript API-集成冲突
- 为什么“this”指的是对象“obj”而不是全局对象
- 从函数调用全局对象的方法
- 谷歌分析的全局对象
- AngularJS:避免使用“angular”全局对象
- Javascript Web Worker 修改全局对象
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 让函数中的接收器默认为全局对象背后的基本原理是什么?
- 蜘蛛猴:如何删除全局对象
- 为什么函数在全局对象中不可用
- 访问请求会在全局对象中生成
- 全局对象问题
- React Native 中全局对象的模式
- Expressjs - 全局对象
- 是否可以在 Javascript 中更改或删除全局对象的属性