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