明らかな何かが欠けているような気がします。JavaScript モジュールから変数を返していますが、未定義のまま戻ってきます。
モジュールは次のとおりです。
var MyNs = MyNs || {};
MyNs.Global = function () {
var privateTestVar;
var init = function () {
if (privateTestVar == null ) {
privateTestVar = "this is a test" ;
console.log( 'Init: ' + privateTestVar);
}
};
var Public = {
init: init,
TestVar: privateTestVar
}
return Public;
} ();
呼び出しは次のとおりです。
MyNs.Global.init();console.log( 'Called: ' +MyNs.Global.TestVar);
init 関数の console.log は正常に機能し、値を返しますが、他のコンソール ログは undefined を返します。私はそれを完全に見逃しています。どんな助けでも大歓迎です。
更新: コードを少し変更して、次のようにしました。
var privateTestVar = function () { return 'Test!'; }
var Public = {
TestVar: privateTestVar
}
そのバリエーションですが、コンソールに次の正確なテキストを返します: "function () { return 'Test!'; }"