あるスコープで関数を定義し、別のスコープにアクセスしたいという次のシナリオを理解しようとしています。
helper.js と main.js という 2 つの異なる JavaScript ファイルがあり、どちらも自己呼び出し関数を持っています。
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 では動作しません。
ここで私が間違っていることを誰かが指摘できますか?
グローバルスコープを汚さないように、自己呼び出し関数を書きました。この方向での助けは、私を大いに助けてくれます。