首页 > 解决方案 > 选择全局范围而不是本地范围

问题描述

我想知道,是否有任何方式在 Javascript 中告诉编译器您想使用哪个范围变量。

就像在 python 中附加关键字一样global,编译器知道您正在使用全局关键字。

除了使用不同的名称之外,还有什么方法可以在 Javascript 中做同样的事情吗?

(在下面的示例中,我试图接触全局“红色”,但它一直被参数“绿色”所掩盖。)

const color = "red"

const printColor = (color) => console.log(color)

printColor("green")

标签: javascript

解决方案


将全局变量直接附加到窗口对象:

window.color = "red"

const printColor = (color) => console.log(color, window.color)

printColor("green")

更新

或者,您可以创建一个“全局”对象并将所有全局变量保存在其中:

const global = {
    color: "red"
}

const printColor = (color) => console.log(color, global.color)

printColor("green")


推荐阅读