预解析

时间:2021-07-22
本文章向大家介绍预解析,主要包括预解析使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
 

1问

console.log(num);

2问

console.log(num);   //undefined

var num = 10;

//相当于执行了以下代码

3问

fn();

function fn(){

  console.log(11);  //输出11

}

4问

变量储存的fun不能放头上

fun(); //放这里不可以 fun is not a function

var fun = function() {console.log(22);}

fun(); // 这里可以22

1、JS代码是由浏览器中的JS解析器来执行, JS解析器在运行JS代码的时候分为两步,预解析和代码执行。

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

(2)代码执行   按照代码书写的顺序从上往下执行

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

(1)变量提升  就是把所有的变量声明提升到当前的作用域最前面 不提升赋值操作

(2)函数提升  就是把所有的函数声明提升到当前作用域的最前面  不调用函数

定义了一个变量同时赋值了,但是在定义之前使用的时候值是undefined,这情况我们称之为预解释,也称之为变量提升

 

原文地址:https://www.cnblogs.com/cjbsai/p/15043922.html