js继承实现错误
发布网友
发布时间:2022-04-22 18:57
我来回答
共1个回答
热心网友
时间:2022-04-22 20:27
当你执行var instance1 = new SubType();这个代码的时候,new 1、 帮你创建了一个空的对象{},2、调用这个构造函数,并在执行这个构造函数时,this指向新创建出来的对象3、将这个对象返回
你这时候打印一下instance1,你会发现它仅仅是一个SubType的实例,原型指向是object。
而你第二次new的时候,instance2上的原型就是SuperType{}了。
我觉得你的问题应该出现在new做的第二步,调用这个函数这里了!当调用完这个函数时,才更改了SubType的原型指向。而这时,instance1已经是一个实例了,原型指向依然是Object。