以下に関して、InternetExplorerとFirefoxの動作の違いを誰かが説明できますか?
var myNamespace = (function () {
var exposed = {};
exposed.myFunction = function myFunction () {
return "Works!";
}
console.log(myFunction());
// IE: "Works!"
// Firefox: ReferenceError: myFunction is not defined
console.log(exposed.myFunction());
// IE: "Works!"
// FF: "Works!"
return exposed;
})();
console.log(myNamespace.myFunction());
// IE: "Works!"
// FF: "Works!"
myFunction()
Internet Explorerでは、このメソッドを使用すると、またはを使用して名前空間関数内から関数を呼び出すことができますexposed.myFunction()
。
namepsace関数の外で使用できますmyNamespace.myFunction()
Firefoxでは、機能しない裸の名前付き関数呼び出しを除いて、結果は同じです。
それは機能するはずですか?そうすべきでない場合は、なぜですか?
もしそうなら、これは既知のバグですか?