JavaScript代码是由JavaScript解析器执行的。
JS解析器在运行JS代码时分为两步:预解析、代码执行。
预解析:JS解析器运行代码前会把JS里面所有的var和function提升到当前作用域的最前面
1)变量提升:把所有的变量声明提升到当前函数的作用域的最前面,不提供赋值
2)函数提升:把所有的函数声明提升到当前作用域的最前面,不执行
JavaScript代码是由JavaScript解析器执行的。
JS解析器在运行JS代码时分为两步:预解析、代码执行。
预解析:JS解析器运行代码前会把JS里面所有的var和function提升到当前作用域的最前面
1)变量提升:把所有的变量声明提升到当前函数的作用域的最前面,不提供赋值
2)函数提升:把所有的函数声明提升到当前作用域的最前面,不执行