当 JavaScript 代码执行时,会经历两个阶段:编译阶段和执行阶段。在编译阶段,JavaScript 引擎将会扫描代码,并将变量和函数声明提升到作用域的顶部。这就是所谓的变量提升和函数提升。
变量提升和函数提升的优先级是不同的。变量提升是将变量声明提升到作用域的顶部,而函数提升是将整个函数声明提升到作用域的顶部。
变量提升
在变量提升中,变量声明会被提升到作用域的顶部,但是变量的赋值操作仍然会保留在原来的位置。这意味着变量可以在声明之前使用,但是值将会是 undefined。
console.log(myVar); // undefined
var myVar = 10;
console.log(myVar); // 10
函数提升
与变量提升类似,函数声明也会被提升到作用域的顶部。这意味着可以在函数声明之前调用函数。
myFunc(); // Hello!
// 函数声明
function myFunc() {
console

最低0.47元/天 解锁文章
2963

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



