如何用原型链实现JS继承,改写为长尾?

2026-04-03 06:380阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1919个文字,预计阅读时间需要8分钟。

如何用原型链实现JS继承,改写为长尾?

目录+原型链是什么+通过构造函数创建实例+使用原型链的方式实现继承+方法1:Object.create+方法2:直接修改+方法3:使用父类的实例+总结+今天讲一道经典的原型链面试题

目录
  • 原型链是什么
  • 通过构造函数创建实例对象
  • 用原型链的方式实现继承
    • 方法1:Object.create
    • 方法2:直接修改 [[prototype]]
    • 方法3:使用父类的实例
  • 总结

    今天讲一道经典的原型链面试题。

    原型链是什么

    JavaScript 中,每当创建一个对象,都会给这个对象提供一个内置对象 [[Prototype]] 。这个对象就是原型对象,[[Prototype]] 的层层嵌套就形成了原型链。

    当我们访问一个对象的属性时,如果自身没有,就会通过原型链向上追溯,找到第一个存在该属性原型对象,取出对应值。

    当然原型链不是无止境的,和单链表一样,最后一个原型对象的值是 null,原型链的所有对象都找不到指定的属性时,我们会拿到 undefined。

    [[Prototype]] 虽然无法通过脚本进行访问,但大多数浏览器提供了 __proto__ 属性来访问这个内置对象,但它并不是标准,无法兼容所有浏览器。

    阅读全文
    标签:方式实现

    本文共计1919个文字,预计阅读时间需要8分钟。

    如何用原型链实现JS继承,改写为长尾?

    目录+原型链是什么+通过构造函数创建实例+使用原型链的方式实现继承+方法1:Object.create+方法2:直接修改+方法3:使用父类的实例+总结+今天讲一道经典的原型链面试题

    目录
    • 原型链是什么
    • 通过构造函数创建实例对象
    • 用原型链的方式实现继承
      • 方法1:Object.create
      • 方法2:直接修改 [[prototype]]
      • 方法3:使用父类的实例
    • 总结

      今天讲一道经典的原型链面试题。

      原型链是什么

      JavaScript 中,每当创建一个对象,都会给这个对象提供一个内置对象 [[Prototype]] 。这个对象就是原型对象,[[Prototype]] 的层层嵌套就形成了原型链。

      当我们访问一个对象的属性时,如果自身没有,就会通过原型链向上追溯,找到第一个存在该属性原型对象,取出对应值。

      当然原型链不是无止境的,和单链表一样,最后一个原型对象的值是 null,原型链的所有对象都找不到指定的属性时,我们会拿到 undefined。

      [[Prototype]] 虽然无法通过脚本进行访问,但大多数浏览器提供了 __proto__ 属性来访问这个内置对象,但它并不是标准,无法兼容所有浏览器。

      阅读全文
      标签:方式实现