【发布时间】:2010-05-04 19:52:23
【问题描述】:
我现在正在从我的代码中删除大多数全局变量,方法是将所有内容都包含在一个函数中,将全局变量转换为“伪全局变量”,这些变量都可以从该函数块内的任何位置访问。
(function(){
var g = 1;
var func f1 = function () { alert (g); }
var func f2= function () { f1(); }
})();
(从技术上讲,这仅适用于我的“发布版本”,我将所有文件一起附加到一个文件中,并用上面的内容包围它们……我的开发版本通常每个 js 文件都有一个全局文件)
这一切都很好,除了一件事......有一个重要的地方我需要通过字符串名称访问其中一些“全局变量”。以前,我可以这样做:
var name = "g";
alert (window[name]);
和它做的一样
alert(g);
现在——从块内部——我想在我的伪全局变量上做同样的事情。但我不能,因为它们不再是任何父对象(“窗口”)的成员,即使在范围内。
有什么方法可以通过字符串访问它们?
谢谢...
【问题讨论】:
标签: javascript