function Animal(name){ this.name = name; } function Dog(sex){ this.sex=sex; } Dog.prototype = new Animal(); //Dog.prototype.constructor = Dog; var xiaohuang = new Dog("male");
通过Dog.prototype指向Animal 实例以后,达到了继承的目的。但是目前new Dog的实例的构造函数都是指向的Animal。
但是new Dog时,this.sex还是执行了。也就是真正的还是用Dog函数执行的构造。只是记录的构造函数是Animal。
这个机制是不是有点变态?
相关分类