搜索
写经验 领红包
 > 动物

变量提升和函数提升的区别(变量提升和函数提升哪个先)

导语:21、变量提升与函数提升的区别?(必会)

变量提升和函数提升的区别(变量提升和函数提升哪个先)

变量提升

简单说就是在 JavaScript 代码执行前引擎会先进行预编译,预编译期间会将变量声明与函数声明提 升至其对应作用域的最顶端,函数内声明的变量只会提升至该函数作用域最顶层,当函数内部定义的一个变量与外部相同时,那么函数体内的这个变量就会被上升到最顶端。

举例来说:

console.log(a); //

undefined var a = 3;

//预编译后的代码结构可以看做如下运行顺序 var a; // 将变量 a 的声明提升至最顶端,赋值逻辑不提升。 console.log(a);

// undefined a = 3; // 代码执行到原位置即执行原赋值逻辑

函数提升

函数提升只会提升函数声明式写法,函数表达式的写法不存在函数提升

函数提升的优先级大于变量提升的优先级,即函数提升在变量提升之上

本文内容由快快网络小蔼整理编辑!