1-我在任何函数之外声明var
2-我点击,我想我将变更改为宝马? (但我没有表现出来)
3-我点击到另一个地方,我想展示var我认为它会显示宝马,但它显示玛莎拉蒂。为什么?如果我在click函数中更改var但我没有使用var,var是否真的会改变?有人可以解释一下,我只想了解这种行为。
此处查看并播放:http://jsfiddle.net/gLe5305k/
JQUERY:
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;
}
答案 0 :(得分:5)
不要再次声明变量:
$("#blue").click(function() {
carName = "BMW";
});
如果再次声明该变量,它将被视为局部变量,其范围仅限于该函数。
小提琴:link
答案 1 :(得分:1)
您有两个名称相同但范围不同的变量。
将var carName = "BMW";
更改为carName = "BMW";
现在你只有一个变量