如何搭建一个自己的专属音乐播放器?教程拿去!

本文介绍了JavaScript中的原型和原型链概念,以及通过原型链实现继承的6种方式,包括ES6的class继承、原型赋值、借用构造函数、组合继承、原型式继承和寄生式组合继承。并展示了应用这些技术构建类似网易云音乐播放器的实践案例,涵盖了ES6的语法特性如解构赋值、箭头函数等。
摘要由CSDN通过智能技术生成

f8924211987c0949349c908072f6dcb2.png

点击蓝字 关注我们

600b6eb057a9b1ec6556ccc8e30fc833.png

内容来源于掘金:单程线_01(黄灿民),别忘记看文末福利~


JavaScript 的继承是通过原型链实现的,要实现继承需要理解原型和原型链的概念。

原型和原型链

1、仅函数上存在 prototype 属性(这是一个显式原型属性),其指向原型对象,原型对象上存在两个属性:constructor 和 [[prototype]] (无法访问,部分浏览器可通过 __proto__ 访问,这是一个隐式的原型属性);

  • constructor :指向构造函数,即是函数自身

  • [[prototype]](__proto__):指向构造函数的原型对象,即 Object ,Object.__proto__ = null

2、当通过 new 调用这个函数时,得到的对象会存在 [[prototype]](__proto__),指向的是函数的 prototype 属性;

3、所有的对象上都存在 [[prototype]](__proto__)属性;

4、这种通过 __proto__ 在各对象间建立链接的工具就是原型链,通过原型链可以访问到其他对象的属性和方法。

继承的实现方式

继承指一个对象直接使用另一对象的属性和方法。JavaScript 的继承是通过原型链实现的。

实现属性继承的核心代码是 SuperFn.call(this),实现方法继承的核心代码是 SubFn.prototype.__proto__ = SuperFn.prototype,具体实现方式有以下6种:

1、ES6 class 类 extends 继承

通过 ES6 新增的语法糖实现继承。

class SuperClass {
    constructor(name) {
        this.name = name || 'super';
        this.arr = [1, 2];
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值