simple's Studio.

JavaScript中的new关键词

2017/10/26

###new关键字

使用new之前

var Car=function(loc){
    (1)
    var obj=Object.create(Car.prototype);
    obj.loc=loc;
    return obj;
    (2)
};
Car.prototype.move=function(){
    this.loc++;
};

var ben=new Car(9);
ben.mobe();

一旦决定为某个函数使用关键字new,就需要做一些必要的重构。当在一个函数的调用前,使用关键字new,该函数便会以一种特殊的模式————构造模式来运行。所谓的构造模式,就是在代码的(1)(开头)和(2)(结尾)中分别嵌入两行代码:(1)this.Object.create(Car.prototype); (2)return this;这样就可以省略两句下面和上面的代码。此后代码可以改写成如下样式:

var Car=function(loc){
    this.loc=loc;
};
Car.prototype.move=function(){
    this.loc++;
};

var ben=new Car(9);
ben.mobe();
CATALOG