JavaScript-预解析

一、预解析

    javascript代码是由浏览器JavaScript解析器来执行的,JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码运行。

       1.预解析,js引擎会把js里面所有var 还有 function 提升到当前作用域最前面

       2.代码执行,按照代码书写的顺序从上往下执行。

    预解析:预解析分为变量预解析(变量提升)和函数预解析(函数提升)

    1.1变量提升就是把所有的变量声明提升到当前作用域,不提升赋值操作

 console.log(num);//输出undefined
 var num=10//预解析,执行过程,var num; console..log(num); num=10;

    2.1函数提升就是把所有函数声明提升到当前作用域最前面

 fun();
function fun(){
 console.log(1);//输出1
}
//预解析,执行过程吗,函数提升。// function fun(){
//console.log(1);//输出1//}// fun();

 列子

列子1
var num=10;
fun()
function fun(){
console.log(num);//输出undefined
var num=20;
}
//var num;
//function fun(){
//var num;
//console.log(num);//undefined
//num=20;
//}
//num=10;
//fun();

猜你喜欢

转载自www.cnblogs.com/CheungKaHo/p/12080451.html