2

アプリの名前空間が次のようになっている場合:

var myApp = {};

(function() {
    var id = 0;
    this.next = function() {
        return id++;  
    };
}).apply(myApp);

次に、次の結果をログに記録すると:

console.log(myApp.next()); //1

たとえば、次のような名前空間関数内に変数を格納するにはどうすればよいですか。

var myApp = {};

(function() {
    var id = 0;
    this.next = function() {
        return id++;  
    };

    // Store variables here ...
    this.variableStore = function() {
            var var1 = "One";
    };
}).apply(myApp);

このようにアクセスしようとしています:

console.log(myApp.variableStore().var1); // Gives me an error

これは可能ですか、それとも良い考えですか?それとも、本質的にグローバル変数である新しい名前空間を宣言する必要がありますか?

4

3 に答える 3

1

関数の使用方法については、すでにいくつかの回答が得られていますvariableStore。しかし、変数を.-operator で保存するだけで十分でしょうか?

var myApp = {};

(function() {
    var id = 0;
    this.next = function() {
        return id++;  
    };
}).apply(myApp);

//store:
myApp.var1 = "One";

//request:
console.log(myApp.var1); //One
于 2013-06-02T21:14:47.543 に答える