关于js中原型和原型链的理解

最近在学习js,之前的学习一直是断断续续,非常不全面。。。写这篇博文来记录我的学习过程和小心得吧。

js中很重要的一个方面便是原型和原型链

首先提出我的小疑问,原型是什么,原型链又是什么?为什么要有他们?他们用在何处?

JavaScript是面向对象的语言,那么要实现面向对象,就要实现--面向对象的三大特性(封装、继承、多态)。JavaScript实现oop三大特性用的就是原型。

原型从定义上说:

“我们创建的每个函数都有一个prototype(原型)属性(除了Function.bind()返回的函数),这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。” 
–摘自人民邮电出版社出版的Nicholas C.Zakas著的《JavaScript高级程序设计》(第2版) 

因此,prototype(显式原型)属性指向的对象就是原型对象。(当然还包括隐式原型_proto_)

而原型链是将使用对象的_proto_属性,形成逐级引用的关系。


JavaScript中的对象又是什么呢?有哪些类别?

之前看到很多关于讲js对象及其原型的讲解文章,这一篇我觉得解释的非常清楚,传送门《深度理解JS对象及原型》

由于本人的水平有限,欢迎大家指正评论,我会及时的修改回复的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值