JavaScript代码的执行是由浏览器的JavaScript解析器来执行的。JavaScript解析器执行JavaScript代码时,分为两个过程:预解析过程和代码执行过程。
预解析过程:
(1)把变量的声明提升到当前作用域的最前面,只会提升声明,而不会提升赋值。
(2)把函数的声明提升到当前作用域的最前面,只会提升声明,而不会提升调用。
(3)先提升var,在提升function。
例
预解析变化过程:
页面输出结果:
a:为undefined;b为9.
JavaScript代码的执行是由浏览器的JavaScript解析器来执行的。JavaScript解析器执行JavaScript代码时,分为两个过程:预解析过程和代码执行过程。
预解析过程:
(1)把变量的声明提升到当前作用域的最前面,只会提升声明,而不会提升赋值。
(2)把函数的声明提升到当前作用域的最前面,只会提升声明,而不会提升调用。
(3)先提升var,在提升function。
例
预解析变化过程:
页面输出结果:
a:为undefined;b为9.