变量提升简单举例
console.log(num); //输出undefined
var num = 1; //初始化num
console.log(fn()); //输出 hi变量提升
function fn() { //声明函数
return "hi变量提升";
}
输出结果:

在上面这个简单的栗子中,最开始解析时,只是创建了num,但并不会给他赋值,但是函数声明会被提升,以上相当于下面这种顺序:
console.log(num); //输出undefined
var num = 1; //初始化num
function fn() { //声明函数
return "hi变量提升";
}
console.log(fn()); //输出 hi变量提升
本文通过一个简单的例子解释了JavaScript中的变量提升(hoisting)和函数声明提升的概念。在JavaScript代码执行时,函数声明会被提升到当前作用域的顶部,而变量声明只被提升到其所在的作用域顶部但不赋值。因此,尽管`num`变量在初始化前被打印,其值为`undefined`,而函数`fn`可以在声明之前调用。
5258

被折叠的 条评论
为什么被折叠?



