标签:java 变量提升 函数 引擎 提升 运行 efi UNC 函数声明
一、预解析
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();
标签:java 变量提升 函数 引擎 提升 运行 efi UNC 函数声明
原文地址:https://www.cnblogs.com/CheungKaHo/p/12080451.html