参考文章

  • 构造函数模式:
    this.show =function(){alert(this.name+"xxx")}
function Car(color,wheels){
this.color=color;
this.wheels=wheels;
this.cost=3000
}

构造函数的问题:使用构造函数最主要的问题就是每个方法都要在每个实例上重新创建一次,p1与p2的都有show方法,但不是同一个Function的实例,因为function在js中也是一个对象。因此他们共有的show方法并不相等。相当于都自己下载一份。浪费内存。可以作为公共方法继承,就像网盘,保存 其实是新建一个指针,指向一个物理实体。所以只有一个实例

  • 原型模式
function Car={};
Car.prototype.name = "法拉利";
Car.prototype.color = "red";
Car.prototype.move = function(){xxx};
  • 混合模式,复制+继承(共享)

    function Car(color){

    this.color = color;

    }

    Car.prototype.showname = function(){alert(this.name)}
    or

    Car.prototype={

    showname:function(){
        alert(this.name);
    }

    }


熊猫酒仙
3 声望0 粉丝