美文网首页
原型对象和原型链的指向

原型对象和原型链的指向

作者: 冰冰啦 | 来源:发表于2018-10-11 21:42 被阅读0次

核心:对象.__proto__ === 函数.prototype

1.先列举几个例子

var obj = {}
obj.__proto__ === Object.prototype //true
var f = function(){}
f.__proto__ === Function.prototype //true
f.__proto__.__proto__ === Obiect.prototype //true
var arr = []
arr.__proto__ === Array.prototype //true
arr.__proto__.proto__ === Object.prototype //true
Array.__proto__ === Function.prototype //true
  • prototype是函数的原型对象,及prototype是一个对象,它会被对应的__proto__引用。
  • 自己的__proto__引用的就是构造你的那个构造函数的prototype
  • 所有构造函数的原型链最后都会引用Object的原型,及Object.prototype.而Object.prototype.__proto__ === null

2.几道关于原型的题

1.Object.__proto__ === ???
首先Object是构造函数,类型为函数,那么,函数由什么构造出来的呢? 很明显,是Function,所以Object.__proto__ === Function.prototype
2.Function.__proto__ === ???
首先Function类型为构造函数,它还是一个函数,函数是由Function构造出来的,所以Function.__proto__ === Function.prototype

var temp = new myFunction()
temp.__proto__ === ???

首先temp是一个函数,它是由myFunction构造出来的,所以temp.__proto__ === myFunction.prototype
4.特例

Object.prototype.__proto__ === null

相关文章

  • JS-进阶-Day3

    原型链: 原型链:是一种关系,实例对象和原型对象之间的 关系,关系是通过原型(proto)来联系的 原型指向可以改...

  • lesson 5 面向对象及原型链 2021-04-29

    课程标题 面向对象及原型链 课程目标 面向对象思想 原型及原型链 继承 知识点 面向对象思想 原型链的指向 new...

  • 原型链

    原型链函数的原型对象prototype函数都有prototype属性指向函数的原型对象【只有函数根除外】原型对象的...

  • JS高级学习:原型链/继承

    原型链 是一种关系,实例对象和原型对象之间的关系,关系是通过原型(proto)来联系的 原型指向可以改变 实例对象...

  • js 原型 2019-12-15

    原型:constructor 构造函数、实例、原型对象三者之间的关系 原型链 原型对象中的this指向 扩展内置对...

  • 原型对象和原型链的指向

    核心:对象.__proto__ === 函数.prototype 1.先列举几个例子 prototype是函数的原...

  • 读《javaScript高级程序设计-第6章》之继承

    读这篇之前,最好是已读过我前面的关于对象的理解和封装类的笔记。 一、原型链 原型链最简单的理解就是:原型对象指向另...

  • JavaScript进阶:原型模式

    1、前言 原型模式是指的将原型对象指向创建对象的类,使得不同的类共享原型对象的方法和属性。js中基于原型链的继承的...

  • 前端js面试题

    1、原型、原型链 原型:js中一切皆对象,对象都有一个隐式的属性_proto_,它指向该对象的原型-prototy...

  • 原型链

    原型链 1.proto:其实是原型链的指针2.prototype:用来指向原型对象3.contructor:每一个...

网友评论

      本文标题:原型对象和原型链的指向

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