js解析与执行的过程
js解析与执行的过程预编译命名冲突的处理全局执行上下文预编译预编译:扫描JS中的用var声明的变量,定义的函数并将它们加到预处理阶段的词法环境中去。变量的定义=变量声明+变量赋值 如:var carName=1 为函数定义注意:预编译只提升函数的声明部分,w3c中如下图定义函数声明,及预编译只提升var carName,变量未赋值时里面存undefined;函数在预编译时是提升定义的函数,不是函数表达式。比如说下面的代码<script> var a =