-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 并将其设置为函数定义。这就像创建一个实例而没有创建一个类。

于 2013-06-29T12:47:29.740 回答