我需要从嵌套函数中访问变量,如下所示:
$(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
的值时,它是未定义的。
答案 0 :(得分:3)
这是因为您已经声明了一个名为key
的局部变量,因为您在点击处理程序中使用var
之前的var key = randomKey(current_dict);
。由于您有一个局部变量,因此不会访问变量外部作用域(闭包)。
$("#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]);
});