为什么jQuery文档准备好关闭对全局变量的访问?

时间:2017-02-05 16:51:48

标签: javascript jquery

我有一个项目,我有三个单独的JavaScript文件(example1.js,example2.js和example3.js让我们调用它们)编写成一个html文件(index.html)。它们之间的这三个JS文件负责API调用并操纵结果。

其中一个JS文件,example1.js引用了一个位于example2.js中的全局变量,因为它们都加载到同一个html文档中,我认为对所述变量的访问不会成为问题,而且确实工作完全正常,直到我将文件添加到我的RoR应用程序。由于Rails,我不得不在$document.ready(function(){}内部包含JS / jQuery代码 (无论如何,我当然应该这样做?)。

这样做的结果是我现在在example2.js中的example1.js引用的全局变量上得到一个'变量未定义'错误,即使同一文件中的其他代码工作正常

我从RoR回到原来的JS文件,这是一个Rails问题。但是,使用jQuery document.ready函数在我的原始文件中包含代码在Rails环境之外具有相同的效果。有人可以解释为什么这是可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我完全忽略了document.ready本身就是一个函数,因此将全局范围内的所有内容都删除到document.ready的函数范围内。