美文网首页
理解JavaScript的原型与原型链

理解JavaScript的原型与原型链

作者: 小柴先生 | 来源:发表于2017-04-24 13:41 被阅读46次

我看到某大神说JavaScript的三座大山:
1、原型与原型链
2、上下文环境与作用域
3、单线程与异步
说的非常正确,原型与原型链可以说是JS非常不容易理解的内容了,想要成为大神,这三座大山是必须要跨越,今天我们就来翻一下第一座大山——原型与原型链

每一个函数,都有一个prototype属性;每一个对象,都有一个proto属性。

我们来声明一个函数foo,看看它的prototype是什么:

1c670003fc36015480881c670003fc3601548088
在浏览器控制台我们得到了我们的结果:
1c6a000288a76cf764ff1c6a000288a76cf764ff
我们熟知的JS内置对象,String、Number、Array等,都是由构造函数定义的,用typeof验证他们都是function,既然是function肯定都有prototype属性。
1c680003f90c5546bf431c680003f90c5546bf43
其实prototype属性是一个指针,指向一个对象,我们上面说了,每一个对象都有一个proto属性,

我们看看Array.prototype.proto指向谁。

1c690001747fbefa97761c690001747fbefa9776
大家看到指向了Object.prototype。那Object.prototype又指向谁呢?
1c6d000165ff1d4b2f9b1c6d000165ff1d4b2f9b
指向了null,也就是说,原型链的顶端是null,“万物皆空”嘛!_
原型链就是通过隐形的proto链接以来的,继承也是隐形的proto实现的,instanceof也是通过隐形的proto一级一级向上查找的。今天就说这么多吧!大家可以上网查一下原型与原型链的指向图,相信你会有一个更深的认识。

相关文章

  • JavaScript 原型、原型链与原型继承

    原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...

  • 原型和原型链篇

    原型和原型链 1.理解原型设计模式以及JavaScript中的原型规则 原型设计模式JavaScript是一种基于...

  • 简单认识 JS 原型与原型链

    原型是JavaScript中一个比较难理解的概念, 为深入理解JavaScript 中的原型、原型链,整理下思路。...

  • 个人对面向对象的理解

    我对原型和原型链式这样理解的,原型和原型链在javascript当中主要用来体现对象 与属性之间的关系,它主要应用...

  • Javascript学习笔记-原型链

    对于Javascript原型链,是Javascript中很重要的内容,要理解关键有三点:Javascript中原型...

  • JavaScript之图解原型链

    根据自己手绘的简图更进一步理解JavaScript的原型链机制 原型与隐式原型 概念 原型:所有的 函数 都有一个...

  • 原型、原型链

    (什么是原型、原型链?有什么作用) JavaScirpt深入之从原型到原型链 图解 Javascript 原型链 ...

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • 前端基础整理

    如何理解JavaScript原型链JavaScript中的每个对象都有一个prototype属性,我们称之为原型,...

  • js原型、原型链、继承的理解

    一、原型、原型链 原型是Javascript中的继承的基础,JavaScript的继承主要依靠原型链来实现的。 原...

网友评论

      本文标题:理解JavaScript的原型与原型链

      本文链接:https://www.haomeiwen.com/subject/hyqpzttx.html