如何从嵌套函数中访问变量
How can I access a variable from within a nested function?
我需要从嵌套函数中访问一个变量,如下所示:
$(function() {
var key = getRandomKey(dictionary);
resetInputRow(dictionary[key]);
$("#button").click( function() {
var answer = key;
// check if user input matches answer (the original key)
...
// reset key for next check
var key = randomKey(dictionary);
resetInputRow(dictionary[key]);
});
});
到目前为止,这还没有奏效。当我检查answer
的值时,它是未定义的。
这是因为您已经声明了一个名为key
的局部变量,因为在单击处理程序中,在var key = randomKey(current_dict);
之前使用了var
。由于您有一个局部变量,因此不会访问变量外部作用域(闭包)。
$("#button").click(function () {
var answer = key;
// check if user input matches answer (the original key)
...
// reset key for next check
key = randomKey(dictionary);
resetInputRow(dictionary[key]);
});
相关文章:
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 查询后websql成功回调无法访问变量
- 无法访问变量
- 从ajax调用成功内部访问变量
- 从子弹出子窗口访问变量
- 下划线模板无法访问变量
- Meteor Iron路由器通过[data]vs[params]访问变量
- CanvasJS-访问变量-访问属性toString的权限被拒绝
- 如何从嵌套函数中访问变量
- 在<%%中定义的访问变量>从<脚本></脚本>
- 自提交表单访问变量javascript
- 如何访问变量
- 稍后在链中访问变量
- 在 Javascript 中访问变量
- 在方法调用对象之外访问变量而不使它们全局化(可能吗?
- 如何从函数/实例外部访问变量
- 从另一个脚本源访问变量
- Meteor:跨所有 Meteor.method的访问变量
- 每次加载页面时,火狐附加组件访问变量
- 在另一个函数中访问变量,返回未定义的 - JavaScript