prototype在js里,是一个prototype链,它可以是一个对象。可以用设计模式的方法理解为: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

解决方案 »

  1.   

    谢谢: BlueDestiny(blog.never-online.net)
    回答强, 抽象, 不过我还是不明白. 
    来点实在的吧.
      

  2.   

    给个例子你吧,是二楼的那位大哥改写的:)function ClassA(sColor) {
    this.color = sColor?sColor:'defaultcolor';//已更改, 运行可看出效果
    }
    ClassA.prototype.sayColor = function () {
    alert(this.color);
    };
    function ClassB(sColor, sName) {
    ClassA.call(this, sColor);
    this.name = sName;
    }
    ClassB.prototype = new ClassA();
    //这里把ClassA的实例作为ClassB的原型链,而不是ClassB的成员,因此并不会复盖的,所以ClassB也就有了ClassA的所有prototype方法。详细请看我下面给的示例。
    ClassB.prototype.sayName = function () {
    alert(this.name);
    };
    var objA = new ClassA("red");
    var objB = new ClassB("blue", "Nicholas");
    objA.sayColor();
    objB.sayColor();
    //--
    alert(ClassB.prototype.color);
    ClassB.prototype.sayColor();
      

  3.   

    这样看也许就会清楚一些了。http://blog.never-online.net/article.asp?id=118