四、javascript中的原型

prototype是javascript最特别的地方之一。无论是实现javascript的面向对象还是继承,使用prototype都必不可少。

原型表示对象的原始状态,javascript中的每个对象都有一个prototype属性,但是只有function类型的prototype属性可以使用脚本直接操作。

prototype本身一个是Object类型。

prototype就是C#类中的实例方法和实例属性。

function staticClass(){};

staticClass.staticMethod = function() {alert("static method")};

staticClass.prototype.instanceMethod = function(){"instance method"};动态方法要使用prototype原型属性。

实例方法需要实例化后才能调用:var instance = new staticClass();

instance.instanceMethod();使用prototype除了可以声明实例方法,也可以声明实例属性。

动态原型方法的精髓在于使用prototype声明实例方法,使用this声明实例属性。

使用原型链实现继承

GoodCar.prototype = new Car();

var goodCar = new GoodCar();

goodCar.showColor();

实现了继承以后,还需要实现自己的run()方法,同样使用prototype实现。

function GoodCar (){}

GoodCar.prototype = new Car();

GoodCar.prototype.run = function(){alert("run fast");}

需要注意GoodCar类自身的方法一定要在实现继承语句之后定义。

原文地址:https://www.cnblogs.com/tomkillua/p/2612905.html