JavaScript的三座大山----原型和原型链

相信很多学习前端的朋友都认识JavaScript的三座大山。

这里假设阅读的朋友对js已经有一定的基础。如果没有的话,请暂时留步。

那js三座大山是什么呢?

1、原型和原型链

2、作用域和闭包

3、异步和单线程

本篇文章主要是写原型和原型链,至于后面两座大山,在我的下两篇文章会整理出来。

第一个问题:什么是原型?

原型分两类:显式原型(prototype)和隐式原型(__proto__)(proto左右两边都是两条下划线)

第二个问题:原型规则有哪些?

1、所有函数都有prototype属性,属性值是一个普通对象。

2、所有的引用类型(数组、对象和函数),都具有自由扩展属性(也就是原型属性啦)。(null除外)

3、所有的引用类型都具有__proto__属性,并且指向他们的构造函数的prototype属性。

4、如果一个对象找不到本身的属性,那么会寻找构造这个对象的属性。

是不是看得有点费解?下面让我用实例来说明!

《JavaScript的三座大山----原型和原型链》
《JavaScript的三座大山----原型和原型链》

第三个问题:什么是原型链

第一个例子帮助你了解原型链,原型链其实就是__proto__的指向链接起来的各个对象。

《JavaScript的三座大山----原型和原型链》

第二个例子:是封装一个DOM查询的例子,通过获取节点,改变文本内容和事件。(适合面试拿出来秀一把)

《JavaScript的三座大山----原型和原型链》 觉得好的点个赞,给我一些信心。

如果可以的话,可以一起学习。大家一起进步

    原文作者:小伙子太认真
    原文地址: https://www.jianshu.com/p/a894f7089a25
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞