JS基础知识

1. 原型/原型链

原型

每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型"继承"属性。

prototype , _ proto _和constructor

prototype是对象或者函数的一个属性,指向该对象或者函数的原型。
_ proto _是实例对象的一个属性,指向该实例对象的原型。
每个原型都有一个 constructor 属性指向关联的构造函数。


当读取实例的属性时,如果找不到,就会查找与对象关联的原型中的属性,如果还查不到,就去找原型的原型,一直找到最顶层为止。

https://www.zhihu.com/question/34183746

2. 执行上下文/作用域链/闭包

作用域链

当查找变量的时候,会先从当前上下文的变量对象中查找,如果没有找到,就会从父级(词法层面上的父级)执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局对象。这样由多个执行上下文的变量对象构成的链表就叫做作用域链。

  • 理解 JavaScript 中的执行上下文和执行栈
  • JavaScript深入之执行上下文栈
  • 一道js面试题引发的思考
  • 发现 JavaScript 中闭包的强大威力
  • 破解前端面试(80% 应聘者不及格系列):从闭包说起

Array 对象方法

你可能感兴趣的:(JS基础知识)