在函数中更改var,但不要使用它

Change a var inside a function, but not use it

本文关键字:函数 var      更新时间:2023-09-26

1-I在任何函数外声明var
2-我点击并怀疑我将var更改为宝马?(但我没有显示)
3-我点击另一个地方,我想显示var我以为它会显示宝马,但它显示的是玛莎拉蒂。为什么?如果我在click函数中更改了一个var,但我没有使用它,那么这个var真的会更改吗?有人能解释一下吗?我只是想了解一下这种行为。

在这里查看并播放:http://jsfiddle.net/gLe5305k/

查询:

var carName = "Maserati";
$("#blue").click(function() {
    var carName = "BMW";
}); 
$("#smoke").click(function() {
    $('#check').text( carName);
});

HTML:

<div id="blue"></div>
<div id="smoke"></div>
<div id="check"></div>

CSS:

#blue{
    position: absolute;
    top:100px; left:100px;
    width:100px; height:100px;
    cursor:pointer;
    background-color:blue;
}
#smoke{
    position: absolute;
    top:100px; left:250px;
    width:100px; height:100px;
    cursor:pointer;
    background-color:whiteSmoke;
}

不要再次声明变量:

$("#blue").click(function() {
    carName = "BMW";
});

如果您再次声明该变量,它将被视为局部变量,其作用域仅限于该函数。

Fiddle:链接

您有两个名称相同但作用域不同的变量。

var carName = "BMW";更改为carName = "BMW";

现在您只需要一个变量