一、执行上下文
1)一段script或者一个函数就会生成一个执行上下文
全局:一段script执行生成一个全局的执行上下文,生成上下文时会将函数声明、变量声明的语句提到前面执行(即为变量提升)
函数:函数执行的时候会生成一个函数的执行上下文,同样会将函数声明、变量声明提前(变量提升),执行之前会指定this,arguments.
函数声明与函数表达式的区别:
函数表达式:var a = function(){}---->函数声明不会提前var a会提前。
函数声明:function a(){}------>函数声明会提前(变量提升)