JavaScript 之 预解析
1.预解析
JavaScript代码是由浏览器中的Javascript解析器来执行的 JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行
<script>
//1 问
console.log(num);//
//2 问
console.log(num);//undefined 坑1
var num = 10;
// 预解析:
// var num
// console.log(num);
// num = 10;
//3问
fn();
function fn(){
console.log(11);
}
//4问
fun(); //报错 坑2
var fun = function(){
console.log(22);
}
// 1.js引擎运行js分为两步:预解析 代码执行
// (2).预解析 js引擎会把js里买的所有var还有function提升到当前作用域的最前面
// (3).代码执行 按照代码的循序从上往下执行
//2.预解析分为变量预解析 (变量提升) 和 函数预解析 (函数提升)
// (1)变量提升 激素hi把所有的变量声明提升到当前作用域的最前面 不提升赋值操作
// (2)函数提升 所有函数声明提升到作用域最前面 不调用
</script>
预解析实例:
<script> f1(); console.log(c); console.log(b); console.log(a); function f1(){ var a = b = c = 9; console.log(a); console.log(b); console.log(c); } function f1(){ var a = b = c = 9; var a; a = b = c = 9 ; console.log(a); console.log(b); console.log(c); } </script>

浙公网安备 33010602011771号