关于javascript:构造函数及原型对象

0次阅读

共计 517 个字符,预计需要花费 2 分钟才能阅读完成。

存在疑难:

  • 什么是原型对象?
  • 什么是构造函数?
  • prototype/__proto__/constructor 都是什么?

寻找答案:

2021/8/11 更新

  1. prototype 存储的是一个援用,援用的是原型对象的地址
  2. __proto__ 存储的是原型链指针,指向上一层的原型对象,即 Child.__proto__ === Parent.prototype
  3. 构造函数是一个模板,生成实例对象的模板,Person 就是一个构造函数
function Person() {}
Person.prototype = {
    constructor: Person,
    __proto__: parent.prototype,
    // other prototype properties: ...
}
  1. 函数的原型对象的结构器 constructor 默认指向函数自身
  2. 原型对象除了自有的原型属性外,为了实现继承,还有一个原型链指针 __proto__,该指针指向上一层的原型对象
  3. 上一层的原型对象的构造仍然相似,这样利用 __proto__ 始终指向 Object 的原型对象上
  4. Object 的原型对象用 Object.prototype.__proto__ = null 示意原型链的最顶端
  5. 如此便造成了 javascript 的原型链继承
正文完
 0