在JavaScript中使用var重新定义局部变量

时间:2012-02-16 12:47:21

标签: javascript var

我对JavaScript和局部变量有一个相当笼统的问题。我的问题是以下内容之间的区别是什么:

function bla
{
    var a = 2;   // local variable
    a = 3;       // the local variable a gets a new value

    // Would do the following line anything different 
    // (than simply asigning this value?)
    var a = 4;
}

我想我不会得到两个名为a的局部变量。在其他语言中,这甚至是一个错误。那有什么用呢?

1 个答案:

答案 0 :(得分:15)

在函数中使用var的任何使用都会被提升。对同一范围内的同一变量的后续使用无效。

它与a = 4;完全相同。