我创建了一个网站,我使用 Js 将其连接到 firebase。 我想在函数范围之外访问“正确”的数组,即我想让它可以全局访问。
var mcqq = firebase.database().ref("mcq_choice/");
mcqq.orderByChild("mcq_choice").on("value", function (data) {
data.forEach(function (data) {
correct_option = data.val().correct)
});
});
console.log(correct_option)
在函数外部调用时,console.log( Correct_option) 显示未定义的错误。
变量
correct_option
是在函数内部定义的,这就是为什么 console.log(correct_option)
在那里工作,但在外面不起作用。该变量是定义范围的,因此在函数外部无法识别它。
您应该在函数外部定义变量,最好在
之前编写
let correct_option;
var mcqq = firebase.database().ref("mcq_choice/");
mcqq.orderByChild("mcq_choice").on("value", function (data) {
data.forEach(function (data) {
correct_option = data.val().correct;
// console.log(correct_option)
});
});
这样就可以在函数外部访问变量。
有关 JavaScript 中 scope 的更多信息,您可以查看以下内容:scope in javascript