加载中...
PAGE

js 继承的是什么?如何实现继承?

Post on 2021-10-27 9 0

继承的含义:

继承是面向对象编程中的一个重要概念,通过继承可以使子类的实例使用在父类中定义的属性和方法。

继承的实现:

组合继承:

function ClassDemo(value){ this.value = value } ClassDemo.prototype.test = function(){ console.log(this.value) } function ClassExtends (value){ ClassDemo.call(this,value) } ClassExtends.prototype = new ClassDemo() //测试 var demo = new ClassExtends("我是测试语句") demo.test(); //我是测试语句 console.log(demo.__proto__)

这种继承方式有个缺点就是在继承父类函数的时候调用了父类构造函数,导致子类的原型上多了不需要的父类属性,存在内存上的浪费。

寄生组合继承:

function ClassDemo(value){ this.value = value } ClassDemo.prototype.test = function(){ console.log(this.value) } function ClassExtends (value){ ClassDemo.call(this,value) } ClassExtends.prototype = Object.create(ClassDemo.prototype) ClassExtends.prototype.constructor = ClassExtends //测试 var demo = new ClassExtends("我是测试语句") demo.test(); //我是测试语句 console.log(demo.__proto__)

Class继承:

class ClassDemo{ constructor(value){ this.value = value } test(){ console.log(this.value) } } class ClassExtends extends ClassDemo{ constructor(value){ super(value) //子类构造函数中必须调用 super } } //测试 var demo = new ClassExtends("我是测试语句") demo.test(); //我是测试语句 console.log(demo.__proto__)
mysql 根据日期进行查询数据,没有数据也要显示空

mysql 根据日期进行查询数据,没有数据也要显示空

阅读更多
js 实现简易版深拷贝

js 实现简易版深拷贝

阅读更多
js 获取音乐的音频音谱

js 获取音乐的音频音谱

阅读更多

暂无评论

    发表评论
    返回顶部
    X