原型

作者: 大笑一声 | 来源:发表于2017-08-23 21:12 被阅读0次

    一:你是如何理解js 中的原型的

    1.原型是什么?

    我们js中  所有的的函数 包括原生的,和自定的  都默认有一个 prototype属性,这属性给我们指向了一个对象,就是原型对象,我们可以通过原型对象来添加属性和方法。

    2. 原型中重要的几个要素

    a. prototype(显示原型)      通过它我们可以找到函数所对应的原型对象

    b. constructor                此属性存在每个函数的原型对象中, 我们可以通过它找到指定的原函数

    c. __proto__  隐式原型)      当我们实例化一个对象(函数)时, 此函数自动拥有了__proto__ 属性, 且它的值是构造函数的prototype的值,也就是此函数的原型对象。

    二:请解释一下原型链的原理

    说到原型链,我用一个最简单的例子来说明:

    首先我们定义一个函数,并且在函数中声明若干变量,同时我们通过prototype 属性在函数的原型对象中声明若干变量。

    接着我们将函数实例化,这是此函数就自动拥有了__proto__ 属性(隐式原型)。当调用我们函数中声明的变量, 其中查找的过程是 首先到函数本身去找, 如果找到即返回, 如果没找到 那么根据__proto__ 去我们的原型中查找,找到即返回。 如果还没找到,再根据原型对象中的 __proto__ 继续往上一级对象中查找, 以此类推,一直找到最顶级的 Object 还没有的话, 那么会返回undefined 。

    三:如何理解原型继承

    基于咱们原型链的原理,就可以证明函数和其原型以及上一级原型对象存在一种继承的关系,正是因为存在这种关系,我们才能够通过原型链的原理找到我们想要的属性或者方法

    0000pt�ݖ�

    相关文章

      网友评论

          本文标题:原型

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