将变量与JavaScript中的函数一起传递出去-我对vars和作用域的理解

问题描述 投票:0回答:1

好吧,我看过YouTube,阅读了教程和博客文章,我在念我的名字叫什么?

我正在通过firebase auth填充以下内容

auth.onAuthStateChanged(user => {
  if (user) {
    // User is signed in.
    var displayName = user.displayName;
    var email = user.email;
    var emailVerified = user.emailVerified;
    var photoURL = user.photoURL;
    var isAnonymous = user.isAnonymous;
    var uid = user.uid;
    var providerData = user.providerData;
    console.log(uid); // <---- This works
    // ...
  } else {
    // User is signed out.
    // ...
  }
});

console.log(uid); // <---- This doesn't 

现在使用console.log()并将变量传递给它时,会收到正确的输出,但是我不能在该函数之外使用变量。

我看了看,“ var”一词重新出现在“ global”一词上我尝试用函数声明变量,即

 uid = user.uid;

var uid;

上面声明的函数和完全相同的结果。

有人可以指出我所缺少的非常明显的东西,我不是在要求重新编写代码或类似的东西!只是我无法掌握的关键概念的解释。

非常感谢!

javascript variables scope
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.