-2
var x = function (){
    this.add = function (a,b){ return a + b;}
}

var x = function (){};
x.add = function (a,b){ return a + b;};

var x = function (){}
x.prototype.add = function (a,b){ return a + b;}

var x = {};
x.add = function (a,b){ return a + b;}

誰かが上記のさまざまな宣言の違いを説明できますか?

ありがとう

4

1 に答える 1

2
  1. new xパブリック メソッド「add」を使用してインスタンス化できる「クラス」を宣言します。ここで「this」は、インスタンス化された後のオブジェクト自体を参照します。

  2. 関数 x に「静的」メソッドを追加します。これは、関数がオブジェクトであるため可能です。

  3. x のプロトタイプに「add」関数を追加すると、x のすべてのインスタンスが継承されます。

  4. オブジェクト x にプロパティ add を追加し、関数定義に設定します。クラスを作成せずにインスタンスを作成するようなものです。

于 2013-06-29T12:47:29.740 に答える