【发布时间】:2012-08-01 22:05:54
【问题描述】:
我试图理解以下场景,我在一个范围内定义了一个函数并希望在另一个范围内访问它。
我有两个不同的 JavaScript 文件,helper.js 和 main.js,它们都有一个自调用函数:
helper.js:
var outerShowData;
(function(){
var innerShowData = function(param1, param2){
alert("Data : "+ param1 +" - "+ param2);
}
outerShowData = innerShowData;
})();
main.js:
(function(){
outerShowData("alpha", "beta");
outerShowData("gamma", "theta");
})();
如果我首先在我的页面中包含 helper.js,然后是 main.js,这在 Firefox、Safari 和 Google Chrome 中可以完美运行。但是它在 IE8 中不起作用。
谁能指出我在这里做错了什么?
我编写自调用函数只是为了不破坏全局范围。在这个方向上的任何帮助都会对我有很大帮助。
【问题讨论】:
-
在 IE8 中对我来说很好。请您创建一个重现问题的jsFiddle 吗?
标签: javascript scopes