网站首页 > 技术文章 正文
对于很多互联网的初学者来说,原型链的理解是javascript中的老大难题,可谓是相当不友好,别说是初学者,原型链的定义甚至对于很多工作两三年的程序员来说,也没能真正理解javascript中的原型链的精妙设计!
所以接下来宜人金科用充满魅力的文字讲解一下,让大家展开联想和记忆,去全面认识一下原型链是什么。
提到原型链,我们首先应该认识原型。在JavaScript中,当定义一个函数数据类型(普通函数、类)时,往往会自带一个prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。
我们的引用类型都有一个隐式原型属性,属性值是普通的对象;同理,所有函数也都有一个原型属性,属性值是普通的对象;所有引用类型__proto__属性指向它构造函数的prototype。
也就是说,当访问一个对象的某个属性时,系统会先在这个对象本身属性上查找。假如没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype;假如还没有找到将继续在构造函数的prototype的__proto__中查找。
从以上可以看出,这个查找的过程是单链,只往一个方向流向,没有回路,如此一步一步向上查找即可形成一个链式结构,这就是原型链。
原型以及原型链在信用数据整合方面经常被提及和使用,宜人金科认为,在JavaScript中万物都是对象,对象和对象之间也有关系,两者之间相辅相成,并非孤立存在。对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条。
可以说,原型和原型链是JS实现继承的一种模型,原型链实际上是为了节约内存的一种寻祖现象,其实全面认识原型链,对于很多人的工作乃至生活会有很大的助力,所以宜人金科希望大家都能正确理解原型、原型链的关系,为今后工作的顺利开展奠定基础。
猜你喜欢
- 2024-11-10 这样理解 JS 原型链,通透 js原型链的理解
- 2024-11-10 JavaScript-原型链 javascript 原型,原型链 ? 有什么特点?
- 2024-11-10 javascript原型链 js原型链的用处
- 2024-11-10 js 原型/原型链/构造函数/实例/继承
- 2024-11-10 【JavaScript 高级】深入了解原型链
- 2024-11-10 快速读懂JavaScript中的原型链 js的原型和原型链是什么
- 2024-11-10 你可能不太理解的JavaScript - 原型与原型链
- 2024-11-10 我在jacascript中学习到的那些原型链,你知道吗?
- 2024-11-10 JavaScript中的原型prototype和__proto__的区别及原型链概念
- 2024-11-10 面试问题分享 - 5:解释一下 原型、构造函、实例、原型链 之间的关系
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-