码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript-预解析

时间:2019-12-22 18:28:06      阅读:89      评论:0      收藏:0      [点我收藏+]

标签: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();

JavaScript-预解析

标签:java   变量提升   函数   引擎   提升   运行   efi   UNC   函数声明   

原文地址:https://www.cnblogs.com/CheungKaHo/p/12080451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!