-1

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

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

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

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

var global = true;

如果最终结果为:

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

它将不再是全球性的。

4

1 回答 1

1

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

global = true;

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

于 2013-05-23T22:09:14.617 回答