#知识点记录# JavaScript 引擎在扫描代码时,也就是预编译阶段,对于发现的变量声明,要么将它们提升到作用域顶部,也就是 var 声明的,要么将声明放在暂时性死区,也就是 let 和 const,在执行阶段时,执行到声明语句后,才会从暂时性死区移除。

函数参数的声明是在预编译阶段的第一步,对于 Chrome 来说,是获得函数参数及其值,放在变量对象里,对于 Firefox 来说,是把整个参数对象 arguments 放在变量对象里,接下来获取函数声明,然后是变量声明。
展开
5