js继承的实现

继承

继承我们在这里只说常用的3种

1.原型链继承
记住3句话 每个实例都包含一个指向原型对象的指针 每个原型对象都包含一个指向构造函数的指针 每个构造函数都有一个原型对象

function person(){
    this.name = "wang";
}
person.prototype.name = "ze";
person.prototype.getName=function(){
    console.log(this.name);
}
function student(){
    this.name = "li";
}
function child(){
    this.name = "zhang";
}
student.prototype = new person();        //重点
child.prototype = new student();            //重点
var xue = new student();
var child = new child();
xue.getName(); 
child.getName();

2.构造函数继承
在子类型构造函数的内部调用超类型构造函数

function Animal(name){
    this.name = name;
}
function Cat(name){
    Animal.call(this,name)              //重点
}
var cat = new Cat("miaomiao");
console.log(cat);

3.组合式继承
将原型链继承与构造函数继承结合起来就ok,好处把共同的方法和属性放在原型上,把有差异的当构造函数处理

function Animal(name){
    this.name = name;
}
Animal.prototype.getName=function(){
    console.log(this.name)
}
function Cat(name){
    Animal.call(this,name)
}
Cat.prototype = new Animal();
var cat = new Cat("miaomiao");
console.log(cat);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容