这是我的函数我声明bar='0'
我只想更新bar ='1'的值只有在点击更改时,否则栏应该有默认值为0.所以当我警告酒吧应该提醒。
即,
如果我点击更改,则栏应该具有值1,否则它应该具有默认值0
我该怎么做..
这是我到目前为止尝试过的代码
<script>
$(function(){
var bar = "0";
$('#change').click(function()
{
var bar = "1";
});
$('#fire').click(function()
alert(bar);
}
});
</script>
答案 0 :(得分:4)
第二次,在点击处理程序中,你不应该使用var,因为这会在click处理程序的函数范围内重新声明bar
。
只需删除var
:
$(function(){
var bar = "0";
$('change').click(function()
{
bar = "1"; // Remove `var`
});
$('action').click(function(){
alert(bar);
}
});
这要归功于javascript对闭包的支持。我真的建议阅读Eloquent Javascript的闭包位(和其余部分),可在此处找到:http://eloquentjavascript.net/03_functions.html