js的基础教程--原型继承

本文介绍了JavaScript中的原型继承概念,通过构造函数的原型属性实现对象间的继承,以及其实现方法和原理,涉及原型链的查找机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原型继承的概念

原型继承是指通过构造函数的原型属性来实现对象间的继承关系。我们将子构造函数的原型设为父构造函数的实例对象。这样父构造函数的方法和实例都可以让子构造函数的实例对象能够使用。

二、原型继承的实现方法

我们可以将子函数的原型指向父函数的实例对象,形成一种嵌套。例子如下:

 function Person() {
        this.ears = 2
        this.eat = function () {
          console.log('eating')
        }
        this.hobby = ['reading', 'running']
      }

      function Student(name, age) {
        this.name = name
        this.age = age
      }

      // 让Student的原型指向person
      Student.prototype = new Person()
      
      Student.prototype.study = function () {
        console.log('study hard!!!')
      }

在上面的例子中,通过Student构造函数的prototype属性访问Student原型,然后再将原型指向Person的一个实例化对象。这样子函数的实例化对象就可以使用父函数的方法了。

三、实现原理

在JS中,每个对象都有一个指向其原型对象的链接,即__proto__属性。当访问一个对象的属性时,JS引擎会先查找对象本身是否有该属性,如果没有,则会沿着对象的原型链一直查找,直到找到该属性或者到达原型链的尽头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值