2

シングルトンを作成するための次のコードブロックに問題がある人はいますか?

Singleton = {
    getInstance : function() {
        if (Singleton._instance)
            return Singleton._instance;

        Singleton._instance = new function() {
            //create object here
        };

        return Singleton._instance;
    }
};
4

2 に答える 2

1

Javascriptでは、通常、オブジェクトリテラルを使用してシングルトンオブジェクトを作成し、それを人々が取得できる場所の変数に配置する方が簡単です。

var mySingleton = {
    some_variable: 10,
    some_method: function(x){
        console.log(this.some_variable * x);
    }
}

mySingleton.some_method();

代わりに複雑なパターンを使用するのはおそらくやり過ぎです。

于 2013-02-28T01:57:51.370 に答える
1

もう 1 つの一般的なシングルトン パターンは、「プライベート」変数を宣言できる「モジュール パターン」です。

var singleton = (function singletonMod() {
  // private
  var foo = 'foo';

  function getFoo() {
    return foo;
  }

  // expose public vars and methods
  return {
    getFoo: getFoo
  };
}());
于 2013-02-28T02:03:28.827 に答える