本系列文章是本人学习相关知识时所积累的笔记,以记录自己的学习历程,也为了方便回顾知识;故文章内容较为随意简练,抱着学习目的来的同学务必转移他处,以免我误人子弟~

参考资料
阮一峰:Javascript 的 this 用法
MDN:this

  • this是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。
  • the value of this is determined by how a function is called
  • 作为普通函数:this 指向全局对象
  • 作为对象方法:this 指向对象本身
  • 作为构造函数:this 指向该构造函数创建的实例
  • 使用 apply、call、bind 调用:this 指向指定的对象

箭头函数的this

function 中的this指向调用该函数时所在的环境变量;
() => {} 中的this指向定义该函数时所在的环境变量;

因此,箭头函数不可使用apply、call、bind 调用,箭头函数会忽视指定对象

执行上下文

参考资料
js:interviewMap
掘金:[译] 理解 JavaScript 中的执行上下文和执行栈

  • 执行栈(调用栈):用来存放代码运行时产生的全部执行上下文
  • 执行上下文:创建阶段和调用阶段
  • 词法环境组件和变量环境的一个不同就是前者被用来存储 函数声明和变量(let 和 const) 绑定,而后者只用来存储 var 变量绑定