将JavaScript插入自执行功能

时间:2013-05-23 20:57:42

标签: javascript ajax client-side

我帮助管理其他程序员用来创建包含JavaScript的内容的内容管理系统(CMS)。从历史上看,我们将内容放入iFrame中以便包含它;现在它是一个单页客户端应用程序,JavaScript被插入到同一个窗口中。

现有的内容库很难开发,所以我试图在加载和/或查看几页内容后管理混乱的窗口对象或内存泄漏的可能性。

我正在考虑用自动执行的函数或类似的东西来包装JavaScript,我将其设置为'undefined'并删除(for example)。挑战在于我必须首先注入包装器,所以我不能只对脚本标签使用直接的ajax调用。这是否意味着我唯一的选择是将包装器作为字符串附加到JavaScript然后使用eval?我不想使用那种方法,但这里可能是合适的。

例如,如果脚本.js文件包含以下代码:

var global = true;

如果最终会成为:

(function() {
  var global = true;
})();

它将不再是全球性的。

1 个答案:

答案 0 :(得分:1)

如果要在JS中声明全局变量,则不应使用var关键字:

global = true;

它在window对象上创建一个可以在任何地方使用的属性。