zoukankan      html  css  js  c++  java
  • 原型链解释

    在构造函数中,我并没有设置有关 age 的属性,只是把 age 设置在了实例原型上,然后我们通过实例对象也能访问到 age 属性。

    在 JavaScript 中,如果想访问某个属性,首先会在实例对象(cat)的内部寻找,如果没找到,就会在该对象的原型(cat.__proto__,即 Cat.prototype)上找,

    我们知道,对象的原型也是对象,它也有原型,如果在对象的原型上也没有找到目标属性,

    则会在对象的原型的原型(Cat.prototype.__proto__)上寻找,以此内推,直到找到这个属性或者到达了最顶层。

    在原型上一层一层寻找,这便就是原型链了。

    (PS:补充一张图片,便于理解)

    JavaScript 对象(除了 null)在创建的时候就会关联一个对象,这个对象就是原型,每一个对象都会从原型上继承属性,

    原型也是对象,所以原型也有原型对象,层层往上,直到 Object.prototype,这就是原型链。

    对象都会有一个 __proto__ 属性来访问自己的原型,同时这个原型就是生成该对象的构造函数的 prototype 属性值。

    每个原型对象都有一个 constructor 属性,指向相关联的构造函数。

  • 相关阅读:
    一些数学证明
    重头再来
    二次函数传参
    神经网络
    准备写点随笔了
    如何做出响应式的页面 (转)
    自适应,响应式,viewport总结
    edm邮件制作规范
    博客园blog模板整理
    git 常用的命令
  • 原文地址:https://www.cnblogs.com/zx-qd/p/10515414.html
Copyright © 2011-2022 走看看