将私有变量转换为公共变量

use*_*206 2 javascript jquery scope function

我正在尝试发现如何将一些私有变量发送到全局范围.我创建了一个简短的演示:

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?
Run Code Online (Sandbox Code Playgroud)

显然,记录任何变量都会返回错误,因为它们仅存在于相对于测试函数的本地范围中.所以我的问题是,如何将这些变量公之于众?

我从来没有以这种方式使用变量,我也找不到任何其他解释这一点的帖子,所以这通常是不好的做法吗?我很想知道.对如何最好地处理变量的任何解释或指导都会非常有帮助,谢谢.

Ale*_*shy 7

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

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

function test() {
  let private1 = 1;
  return private1;
}
test();
console.log(private1);
Run Code Online (Sandbox Code Playgroud)

除了所述函数的范围之外,你不能使它全局化.

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

let private1;

function test() {
  private1 = 1;
  return private1;
}
test();
console.log(private1);
Run Code Online (Sandbox Code Playgroud)