龙空技术网

大厂面试必备之js实现继承-1

简单的幸福感 229

前言:

此刻你们对“js继承核心”可能比较关注,同学们都需要分析一些“js继承核心”的相关内容。那么小编也在网摘上汇集了一些对于“js继承核心””的相关资讯,希望我们能喜欢,我们快快来学习一下吧!

js实现继承的方法有很多,今天给大家讲解的是使用原型链实现继承

上代码

既然要继承就要有个继承的父类把

function Cat(){		this.name = 'lyh'	}Cat.prototype.can = function(){		console.log('我是'+ this.name);	}

原型链实现继承的核心:将父类的实例作为子类的原型

上代码

function Cat2(){}Cat2.prototype = new Cat();var cat2 = new Cat2();console.log(cat2.name); //lyh

这样cat2就继承了cat的属性和方法了。

特点:

非常纯粹的继承关系,实例是子类的实例,也是父类的实例父类新增原型方法/原型属性,子类都能访问到简单,易于实现

缺点:

要想为子类新增属性和方法,必须要在new Animal()这样的语句之后执行,不能放到构造器中无法实现多继承来自原型对象的所有属性被所有实例共享(来自原型对象的引用属性是所有实例共享的)(详细请看附录代码: 示例1)创建子类实例时,无法向父类构造函数传参

简而言之,它不是实现继承最完美的方法,但是最容易理解的一种实现方法

标签: #js继承核心