<script>
//子类的原型指向父类的实例
//构造函数 Animal
function Animal(){
//属性 name
this.name="name"
//方法say
this.say=function(){
console.log("我是构造函数的say方法");
}
}
//在animal的原型上有一个eat方法
Animal.prototype.eat=function(){
console.log("吃什么");
}
//Cat构造函数
function Cat(){
}
//把Cat的原型指向了Animal的实例
//子类的原型指向父类的实例
Cat.prototype=new Animal()
//tom为Cat的实例 ,tom是可以用构造它的构造函数上原型的方法,
//但是Cat的原型指向了 Animal的实例,进而用了Animal原型上的方法,改变了原型指向,破坏了原型链
//constructor构造器,指回不了构造函数Cat
var tom=new Cat()
//让他指回Cat,
Cat.prototype.constructor=Cat//cat的constructor就值回Cat了
tom.eat("fish")//无法传参,传的没用
tom.say()
console.log(tom);
console.log(tom instanceof Animal)
console.log(tom instanceof Cat);
console.log(Cat.prototype.constructor);//构造器指向了Animal,本该指向构造函数自己
继承 子类的原型指向父类的实例
最新推荐文章于 2022-05-11 21:02:24 发布