0

だから私はいくつかの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);    

なぜこれが機能しないのですか?

4

2 に答える 2

1

定義する前に getsessionuser() を呼び出しています。動く

var getsessionuser=function(){var mname='My Name'; return mname;} 

その上

var username=getsessionuser();
于 2015-04-22T15:28:19.867 に答える