说一下执行上下文的理解?
? ? 在 代码执行前 产生
? ? 产生变量提升、函数提升的原因
? ? 定义:
? ? ? ? 全局执行上下文对象:在执行全局代码前,创建对应的全局执行上下文对象,即window对象,进行预处理
? ? ? ? 函数执行上下文对象:在调用函数后、准备执行函数体之前,创建对应的函数执行上下文对象,进行预处理
? ? ? ? 块级私有执行上下文对象:在执行块级代码前,创建对应的块级私有执行上下文对象,进行预处理
? ? 执行上下文栈:
? ? ? ? 存放执行上下文对象的栈
? ? ? ? 按照上下文对象创建的次序进栈,然后从栈顶依次执行出栈
说一下什么是作用域、作用域链?
? ? 在 代码编写时 产生
? ? 定义:
? ? ? ? 全局作用域:全局执行上下文对象的有效作用范围
? ? ? ? 函数作用域:函数执行上下文对象的有效作用范围
? ? ? ? 块作用域:块级私有执行上下文对象的有效作用范围
? ? 作用域链:
? ? ? ? 在某一作用域内找某一变量时,先在自身作用域内的执行上下文对象中找,找不到再去父作用域内的执行上下文对象中找,依次向上找,直到全局作用域内的执行上下文对象为止。这个过程称为作用域链。