JavaScript原型链与作用域链

layout: 'page'
title: '原型链与作用域链'
date: 2019-09-30 15:38:38
tags: JAVASCRIPT
categories: JAVASCRIPT

 

 

原型

  • 所有函数自带一个属性:prototype,属性值是一个对象,存储供实例调用的公共方法

  • 这个对象自带属性constructor,属性值是函数本身

  • 每个对象自带_ _proto__的属性,这个属性指向当前实例所属类的prototype(如果不能确定他是谁的实例,都是Object的实例)

原型链

如果当前对象没有这个属性,会向它_ _proto__这个属性指向的所属类上的prototype上查找,如果也没有,会向所属类上的prototype上的proto上查找...一直找到Object为止。

作用域链

  • 如果当前作用域中没有这个私有变量,会向上级作用域查找,一直找到window为止,如果window也没有,则把变量添加到window属性中。

  • 函数的上级作用域只和他在哪里创建的有关

猜你喜欢

转载自www.cnblogs.com/wangshouren/p/11615810.html