构造函数、实例对象、原型对象之间的关系

本文通过一个简单的Person构造函数示例,介绍了JavaScript中的构造函数、实例对象以及原型和原型链的概念。作者强调了在实际工作中虽然底层概念可能不常涉及,但理解和掌握它们对于深入学习JS至关重要。
摘要由CSDN通过智能技术生成

这张图是初学js时自己画的,但是在之后的工作中却是极少涉及到这种比较底层的东西,经常会忘记,所以这次写个博客记录一下。

// 首先创建一个构造函数,也是个函数,但是一般首字母大写
function Person(name,age){
  this.name = name
  this.age = age
  this.tell = () => {
    console.log(`我叫${this.name},今年${this.age}岁`)
  }
}

// new 一个实例出来
const xm = new Person('小明','18')

console.log(xm.__proto__)  // 在浏览器控制台打印可以看到是一个对象,里面只有一个constructor属性,这就是实例对象的原型对象

console.log(xm.__proto__.constructor)  // constructor 构造器

console.log(xm.__proto__.__proto__)  // 原型链 到Object
console.log(xm.__proto__.__proto__)  // 原型链 到null

console.log(xm.constructor)  // 因为原型链的存在,实例对象也可以直接获取它的构造器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值