スコープに問題があります。明らかにするモジュール パターンを実装する次のコードがあります。
myModule = function(){
var foo = "ohai";
function sayOhai(foo){
alert(foo);
};
return{
sayOhai : sayOhai
};
}();
myModule.sayOhai("configData");
これにより、ダイアログ「configData」が発生します。
ただし、関数 sayOhai には、定義された var を使用して「ohai」と言ってもらいたいです。sayOhai のパラメータ名を変更したくない場合、sayOhai 内で foo の値にアクセスするにはどうすればよいですか? を試しalert (this.foo)
ましたが、未定義です。
繰り返しますが、これは理論的な質問なので、変更sayOhai(foo)
は私が探している解決策ではありません。var の名前とメソッドのパラメーターは同じままにする必要があります。では、sayOhai の範囲から見た var foo の完全修飾名は何でしょうか?
前もって感謝します