Electron.io obj 中的键 JavaScript 键未定义?

Electron.io key in obj JavaScript key is undefined?

我正在使用 Electron.io 开发桌面应用程序。我有一些数据从 firebase 数据库返回,我试图将一些用户信息与 key in obj 匹配,但它在电子控制台中抛出错误。我在普通网页上粘贴了完全相同的代码,returns 没问题。那么它抛出错误 Uncaught ReferenceError: key is not defined 的电子桌面开发是什么?这是我的代码:

JS:

firebase.on('value', function(dataSnapshot) {
    console.log('dataSnapshot: ',dataSnapshot.val());
    var userData = dataSnapshot.val();

    //see if user and password match
    for(key in userData){
      if(JSON.stringify(userData[key].user) === JSON.stringify(payload.data.userName) && JSON.stringify(userData[key].password) === JSON.stringify(payload.data.password)){
        console.log('true');
      }
    };

});

Electron 可能是 运行 你在 strict mode 中的代码。

如果您尝试为尚未定义的变量赋值,严格模式将抛出 ReferenceError。这有助于防止您意外声明全局变量。

Assignments which would accidentally create global variables instead throw in strict mode:

'use strict'; 指令添加到文件或函数的顶部,以在浏览器中使用严格的规则评估代码。

您可以通过将 var 添加到您的循环绑定来修复它。

for(var key in userData){
  // ...
}