だから私はいくつかのJavaScriptの問題を抱えています。私はプロではないので、これがうまくいかない理由がわかりません。私がやろうとしているのは、プライベート変数をプライベート関数の戻り値に割り当てることだけです。var xxx=function name() を設定すると、xxx を参照したときに関数が実行されます。これが私のコードです。注 - var username=getsessionuser(); 下。
//Namespace
var SESSIONCONTROLS=SESSIONCONTROLS || {};
SESSIONCONTROLS.APP=SESSIONCONTROLS.APP || {};
SESSIONCONTROLS.APP.User = (function () {
// defined within the local scope
//Private Variable
var username=getsessionuser();
//Privatemethod
var getsessionuser=function(){var mname='My Name'; return mname;}
//Private Property & Method Example
var privateMethod1 = function () { alert("private method 1"); }
var privateMethod2 = function () { alert("private method 2");}
var privateProperty1 = 'foobar';
return {
//Public Method & Nested Namespace examples
//Public Methods
publicMethod1: privateMethod1,
//nested namespace with public properties
properties:{
publicProperty1: privateProperty1,
sessionname:username
},
//another nested namespace
utils:{
publicMethod2: privateMethod2
}
}
})();
これは、別のルーチンで呼び出される方法です。
var name=SESSIONCONTROLS.APP.User.properties.sessionname;
alert(name);
なぜこれが機能しないのですか?