JavaScript 变量提升
JavaScript 变量提升
JavaScript 中的变量提升意味着将所有变量声明移到函数的顶部。 这意味着,如果我们在函数末尾声明一个变量,则运行时会将其提升到顶部,并且如果在声明之前使用了该变量,则不会有任何错误。
请注意,用
var
关键字声明的变量将被提升。let
和const
(在 ES6 中引入)没有提升效果。
什么是提升?
如前所述,提升意味着将变量声明移到顶部。 重要的是要注意,如果初始化变量,则不会发生提升。
变量声明(发生提升)
在下面的代码中,在声明之前使用data
。
function fun()
{
data = 1;
console.log(data); //Outputs 1
var data;
}
fun();
在运行时,提升以上代码后,代码将如下所示:
function fun()
{
var data; /*** moved to top ***/
data = 1;
console.log(data); //Outputs 1
}
fun();
变量初始化(不会发生提升)
在下面的代码中,data
也进行了声明和初始化。 在这种情况下,将不发生提升并且不会向上移动。 因此,data
的值只有在声明和初始化后才可用。
function fun()
{
console.log(data); //Outputs 'undefined'
var data = 1;
console.log(data); //Outputs 1
}
fun();
在评论部分中,将您与 Javascript 中的变量提升有关的问题放到我这里。
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果