变量提升:变量声明时会被提升到函数作用域的顶部,并赋予undefined值
引擎进入作用域时对代码进行两轮处理:先初始化变量,再执行函数。
初始化变量中分三个步骤:声明并初始化参数;声明但不初始化变量(变量提升);声明并初始化函数
执行环境对象:
执行环境:运行中的函数,由函数在执行时发生的所有事物组成
执行环境对象:对执行环境的ECMA标准实现,是一种对象。js引擎将变量作为属性保存在对象上。
变量提升:变量声明时会被提升到函数作用域的顶部,并赋予undefined值
引擎进入作用域时对代码进行两轮处理:先初始化变量,再执行函数。
初始化变量中分三个步骤:声明并初始化参数;声明但不初始化变量(变量提升);声明并初始化函数
执行环境对象:
执行环境:运行中的函数,由函数在执行时发生的所有事物组成
执行环境对象:对执行环境的ECMA标准实现,是一种对象。js引擎将变量作为属性保存在对象上。