javascript - 将私有(private)变量转换为公共(public)变量

标签 javascript jquery function scope

我试图发现如何将一些私有(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);

关于javascript - 将私有(private)变量转换为公共(public)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54362030/

相关文章:

Python:函数执行后不保存变量的值

function - 如何在 D 中模拟标准库函数

javascript - 添加模块不起作用

javascript - OAuth.io 连接失败

javascript - 将 javascript 变量链接到对象值。

jquery - JSON 中位置 2 处出现意外标记 < jquery 自动完成

javascript - 可观察对象不存在长度属性

javascript - 如何使我的 Canvas 外菜单滚动?

jquery - 如何在JQUERY的LOAD函数中使用POST方法?

javascript - 将函数传递给另一个函数 : Using a variable within the function as the argument to the functions being passed to it