ClassA.prototype.flag = "A";
-->
ClassA.prototype = {flag:"A"}

解决方案 »

  1.   


    ClassA.prototype.flag = "A";
    改为
    ClassA.prototype = {flag:"A"};
    ClassA.prototype.constructor = ClassA;
    跟我的问题有什么关系?我实在想不通。dh20156(风之石)可否多给一些提示。
      

  2.   

    个人认为可能是a对象没有重新被构造,所以除了你改了的属性其他的都没有变。想来可能是js里把constructor做为一个对象的普通属性来看待的。
      

  3.   

    prototype 是游离于ClassA对象之外的一个扩展
    你把 a.constractor 改成 ClassB 只是把这个类的结构体变了,而没有改 prototype