我想从外部js文件获得一些配置,所以它似乎我需要做一个$(document).ready(function(){....
内。保存配置对象的变量需要全局访问所有函数。所有功能没有任何理由在文档就绪功能中。jquery JavaScript的负载变量范围
从我看过的内容来看,以下内容应该是全球可用的app.config
,但它不会!
window.app = {};
$(document).ready(function(){
app.config = window[$('body').attr('data-app')];
});
console.log(app.config);
这产生了错误app.config is undefined
。我假设变量可以在文档中全局访问,但我需要它在全球各地都可用。我将如何做到这一点?如果可能的话,对文档准备就绪范围的解释将不胜感激!
显示这样的执行顺序是有帮助的,并解释了为什么我得到这个问题,但不解释它如何解决。脚本中有很多功能依赖于配置数据,但在文档就绪功能中查看所有内容似乎是错误的。有更好的解决方案吗? – Ally
@Ally看到我的更新回答如何更好地完成 – dimakura
好,所以任何需要配置数据的函数都必须在'document.ready'函数中调用,以使变量可用。但是如果'document.ready'函数之外的另一个函数调用需要配置数据的函数之一呢?那么变量是否可用?可能不会。现在我把所有的函数放在'document.ready'中,这样它就可以工作,但它似乎并不是正确的方式。 – Ally