原型链的实例

本文通过实例讲解了JavaScript中原型链的工作原理,重点阐述了子类型如何通过new关键字继承父类型,并理解构造函数指向的重要性。通过图1和图2的代码演示,展示了子类型如何成为父类型的实例并同时保持自身的构造函数属性。

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

谈一谈原型链的实例

在这里插入图片描述

图1
//父类型
  function Supper() {
    this.supProp = 'Supper property'
  }
  Supper.prototype.showSupperProp = function () {
    console.log(this.supProp)
  }

  //子类型
  function Sub() {
    this.subProp = 'Sub property' 
  }

  // 子类型的原型为父类型的一个实例对象
  Sub.prototype = new Supper()
  
  // 让子类型的原型的constructor指向子类型
  Sub.prototype.constructor = Sub
  Sub.prototype.showSubProp = function () {
    console.log(this.subProp)
  }

  var sub = new Sub()
  sub.showSupperProp()
  // sub.toString()
  sub.showSubProp()
  
  console.log(sub)  // Sub
图1 对应的代码部分

图1中可以看出,地址是0x678的内存块既是Supper的实例对象,也是构造函数Sub的构造函数(Sub已经成为了Supper的实例,所以Sub也可以看成既是sub的构造函数,也是Supper实例的实例)【就很烦躁】;这一点要注意。

在这里插入图片描述

图2

图1与图2是一样的,二者结合着理解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值