IT技术博客大学习 共学习 共进步

再论Javascript的类继承

Heero's Blog 2010-06-20 23:46:10 浏览 3,002 次

无参数类继承的问题

    说到Javascript的类继承,就必然离不开原型链。先看一段示例代码,实现B继承于A:

    function A() {

    }

    A.prototype.a1 = function() {

    };

    function B() {

    }

    B.prototype = new A();

    B.prototype.b1 = function() {

    };

    var b = new B();

    alert(b.constructor == A); // true

    alert(b.constructor == B); // false

    这段代码的主要问题是:

需要实例化A作为B的原型,此时就执行了A的构造函数。但按照面向对象的规则,实例化B之前,B及其父类A的构造函数都不应该执行。更改了B的prototype,导

建议继续学习

  1. 在C++里写一个不能被继承的类 (阅读 6,482)
  2. PHP面向对象编程的三大特性 (阅读 4,541)
  3. 多重继承及虚继承中对象内存的分布 (阅读 4,061)
  4. Linux 系统文件描述符继承带来的危害 (阅读 3,580)
  5. 关于python和C++中子类继承父类数据的问题 (阅读 3,443)
  6. C++ 中的接口继承与实现继承 (阅读 3,400)
  7. JavaScript 函数、作用域和继承 (阅读 3,284)
  8. Javascript继承机制的设计思想 (阅读 3,261)
  9. Javascript继承-原型的陷阱 (阅读 2,960)
  10. Javascript面向对象编程(三):非函数对象的继承 (阅读 2,921)