jsがどのように機能するかを理解する上で何かが欠けています。ここに問題があります:
次のようなモジュールを宣言します。
ns.obj = function() {
// declare private variables
var test = 1, test1 = 2;
// declare some private function
var myFunc=function(){test=2};
return{test:test, myFunc:myFunc};
}
関数内でテストを宣言していないため、毎回myFunc
呼び出されます。jsは、プライベート変数を参照していると想定する必要があります。
返されたオブジェクトは、モジュールがある場合にtestとmyFuncが表示されていることを確認します。したがって、ns.obj.testを呼び出すと、最初は1になります。そして、myFuncを呼び出した後、2を与える必要があります。しかし、それは常に1です。なぜそれが起こるのでしょうか。
これがjsfiddleです:http://jsfiddle.net/aXuwB/1/