javascript原型链怎么实现
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"javascript原型链怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"javascript原型链怎么实现"吧!原型链在E
千家信息网最后更新 2026年11月03日javascript原型链怎么实现
这篇文章主要讲解了"javascript原型链怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"javascript原型链怎么实现"吧!
原型链
在ES6中引入了class关键字,但是JS依然是基于原型的,class实际上是语法糖。
举个例子,有一个people class:
class People { constructor(props) { this.name = props.name; } run() { console.log('run') }}通过new people 这个class 产生了许多的人,张三,李四:
let lisi = new People('李四')但是茫茫人海中,有一类人天赋异禀,他们这类人叫做超级英雄 class Hero
class Hero extends People { constructor(props) { super(props); this.power = props.power } heyHa() { alert(this.power) }}class Hero 继承了 People,所以英雄首先是个人,具有run方法,然后Hero具备普通人不具备的超能力heyHa方法。我们可以定义有一个英雄叫做Jinx,具有cannon的超能力:
let Jinx = new Hero({ name: 'jinx', power: 'cannon!' })尽管实例Jinx没有定义run方法,但是通过原型链可以查找到People的原型上具有这个run方法,即它的隐式原型__proto__指向构造函数的原型

当实例访问某个方法或属性时,会从自身开始,然后往原型链上回溯查找
Jinx.heyHa() // cannon!// 当自身有该方法时Jinx.run = () => console.log('i just fly!')Jinx.run() // i just fly!那么People.prototype.__proto__指向哪里呢?Object.prototype, 在控制台中输入代码可以看到:

而Object.prototype的__prototype__ 等于 null,宇宙的尽头是虚无。。
至此完整的原型链图就是这样的:
我们可以基于原型链来实现一个简易的JQuery库
class JQuery { constructor(selector, nodeList) { const res = nodeList || document.querySelectorAll(selector); const length = res.length; for (let i = 0; i < length; i++) { this[i] = res[i] } this.length = length; this.selector = selector; } eq(index) { return new JQuery(undefined, [this[index]]); } each(fn) { for(let i = 0; i < this.length; i ++) { const ele = this[i] fn(ele) } return this; } on(type, fn) { return this.each(ele => { ele.addEventListener(type, fn, false) }) } // 扩展其他 DOM API}const $$ = (selector) => new JQuery(selector);$$('body').eq(0).on('click', () => alert('click'));在控制台中运行一下,结果如下:
感谢各位的阅读,以上就是"javascript原型链怎么实现"的内容了,经过本文的学习后,相信大家对javascript原型链怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
原型
方法
英雄
学习
内容
实例
就是
指向
控制台
能力
李四
控制
普通
个人
人海
代码
例子
关键
关键字
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
伟宏互联网科技
互联网科技工作委员会
西安纸贵互联网科技有限公司
为想互联网科技怎么样
互联网科技活动banner
互联网科技会
浩特互联网科技
碳银互联网科技有限公司
顺玮阁互联网科技
承德科技产业互联网发展
互联网企业和科技型企业
广州恒生互联网科技有限
洛阳昕诺飞互联网科技有限公司
互联网科技如何创业
上海京穆互联网科技有限公司
互联网营销推广黑科技
长沙渺峰互联网科技有限公司
马化腾互联网科技教学
盐城市攀科互联网科技有限公司
平安好医生打造互联网科技医疗
咖啡
互联网金融科技
湖北九亚互联网络科技有限公司
互联网科技保险
掌上梦互联网科技
北京华百购互联网科技有限公司
长沙茂晟互联网科技有限公司
广东工业互联网大赛深圳学泰科技
悟空问答互联网科技
互联网科技和医药行业