为什么这个变量超出了范围,JavaScript
Why this variable go out of scope, JavaScript?
function foo(){
var bar = 0;
$("#dummy").click(function(){
bar += 1;
})
}
我以为bar在函数foo内部,所以它总是可以调用的。但是,错误消息是变量栏未定义。有人能解释一下原因吗?
这并没有超出范围。您正在一个函数中定义您的点击处理程序,因此您必须调用该函数才能发生任何事情,但除此之外,您发布的代码并没有说明为什么会出现该错误。
下面是一个例子(我删除了jQuery(:
<button>Add one</button>
<div>bar is: <span id="barCount">0<div></div>
function foo(){
var bar = 0;
document.querySelector("button").onclick = function(){
bar += 1;
document.querySelector("#barCount").innerHTML = bar;
};
}
foo();
Fiddle
相关文章:
- 正在全局范围中查找JavaScript函数
- Javascript:'受保护'范围界定
- Javascript innerHTML超出范围的问题
- 可以't访问JavaScript函数范围中的变量
- 用javascript映射和匹配范围
- firefox中的Javascript事件范围问题
- 如何在JavaScript中获取文本区域的选定文本范围
- 从GWT中的HighCharts库(以及一般的Javascript)自定义Stockchart范围选择器按钮
- 获取给定JavaScript范围内的解析函数
- 使用javascript中的var关键字创建块范围的变量
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- 用Javascript编辑范围数据(时间序列)
- 为什么此变量超出范围?JavaScript
- 范围 JavaScript 中变量和对象之间的差异
- Struts:getElementByID来自请求范围(Javascript)
- 查找数组/范围javascript中所有丢失的元素
- 定义数组的隔离范围javascript
- 同时更改两个范围- javascript
- 如何获取一周中存在于某个日期范围(Javascript)中的天数列表
- 随机大整数在范围JavaScript