1

Javascript コードに関して解決しなければならない問題があります。オブジェクトをインスタンス化するとき (この場合は新しいメンバーを追加するとき)、メンバーに一意の ID を取得させたいと考えています。以下は、私が望むものの写真を提供するための私のコードの簡略化されたバージョンです。これを行う最善の方法は何ですか?

function Member(name){

    //unique id code...

    this.getName = function(){
        return name;
    }

    this.setName = function(_name){
        name = _name;
    }
}
4

3 に答える 3

3

次のように簡単だと思います:

(function() {
    var idcounter = 0;

   function Member(name){
        this.id = idcounter++;
        this.getName = function(){
            return lastName;
        };

        this.setName = function(_name){
            name = _name;
        };
   }

   yournamespace.Member = Member;
}()); 

yournamespaceは、アプリケーション オブジェクトなどにする必要があります。コンストラクターをグローバルwindowにするために、ブラウザーで置き換えることもできます。Member

于 2011-11-27T21:00:03.523 に答える
1

(おそらく)一意のIDが必要な場合は、次を使用できます

var id = new Date().getTime();

エポック (1970 年 1 月 1 日) からのミリ秒数を返します。

編集: JavaScript アプリケーションで、以下のコメントに記載されているような極端な状況に遭遇したことはないと思いますが、そのような場合、これは確かに悪い解決策です。

于 2011-11-27T20:59:57.897 に答える