Javascriptの名前空間に変数を渡す方法:は、私はそうのようなJavascriptの名前空間を作成している
MyApp.someFunction(x);
は、私は次の操作を実行できるようにしたいと思います:
var MyApp = function() {
return {
someFunction : function(x) {}
alert(MyApp.y);
}
}();
これは私がこれを行うことができます:
MyApp.y = "test"
私someFunctionは、この変数Yをアクセスできるように
これを解決する方法のアイデア?私のNS構文をそのままにしておきたいので、私のサンプルコードでうまくいくソリューションがいいでしょう。
あなたがエンクロージャにsomeFunctionを入れている任意の特定の理由はありますか?私が知る限り、その変数をそのエンクロージャに渡すことはできませんが、もちろんグローバル変数にアクセスすることもできます。エンクロージャを必要としない場合は、 'return'ブロックの代わりに' this.someFunction = function(x)... 'を実行することができます。また、あなたが 'MyApp'にそれを格納しているときに、その関数を' new'したいと思うかもしれません。 – Thor84no