我试图发现如何将一些私有(private)变量发送到全局范围。我创建了一个简短的演示:

function test() {
    let private1 = 1, private2 = 2;

    return private1;
}

test(); // returns the first variable value, but not if I have multiple variables
console.log(private1); // returns obvious error - how to make private variable global?

显然,记录任何变量将返回错误,因为它们仅存在于相对于测试功能的本地范围内。所以我的问题是,如何将这些变量公开?

我从来没有用过这种方式使用变量,也没有找到其他解释这种情况的帖子,所以这通常是不好的做法吗?我很好奇。关于如何最好地处理变量的任何解释或指导都将非常有帮助,谢谢。

最佳答案

在函数内部声明的变量仅在该函数内部可用,除非您在函数外部声明。

在此示例中,您不能在函数外部使用private1。

function test() {
  let private1 = 1;
  return private1;
}
test();
console.log(private1);


您不能在上述功能范围之外将其设置为全局。

在此示例中,可以在函数外部使用private1。

let private1;

function test() {
  private1 = 1;
  return private1;
}
test();
console.log(private1);

10-04 16:00