js作用域链
作用域分为全局作用域和函数作用域
当取值取不到的时候,js会自内而外自下而上的找这个值
作用域链的名称解析优先级
1、语言内置;this、arguments等关键字
2、形参;函数的形参在函数内都是有效的
3、函数声明;function foo () {}
4、变量声明;var
https://www.cnblogs.com/gaosirs/p/10579059.html
https://segmentfault.com/a/1190000012362182
https://github.com/mqyqingfeng/Blog/issues/6
执行上下文
执行上下文可以说是js代码被解析和执行时所在环境的抽象概念;
执行上下文分为全局执行上下文和函数执行上下文;
js引擎并不是一行一行的执行代码,而是一段一段的;
可执行代码:全局代码、函数代码、eval代码
js引擎创建执行上下文栈,最先执行全局代码所以先压入一个全局执行上下文,然后执行一段代码将执行上下文压入栈,当函数执行结束后弹出
https://juejin.im/post/6844903473301946381
https://segmentfault.com/a/1190000012362182
https://www.jianshu.com/p/11d3c56cf98c