Leetcode
Leetcode copied to clipboard
25. 什么是Hoisting
提升是一种 JavaScript 机制,其中变量、函数声明和类在代码执行之前被移动到其作用域的顶部。请记住,JavaScript 只提升声明,而不是初始化。我们举一个变量提升的简单例子,
console.log(message); //output : undefined
var message = "The variable Has been hoisted";
上面的代码对解释器来说如下所示,
var message;
console.log(message);
message = "The variable Has been hoisted";
以同样的方式,函数声明也被提升
message("Good morning"); //Good morning
function message(name) {
console.log(name);
}
这种提升使函数在声明之前可以安全地在代码中使用。