javascript - 选择全局范围而不是本地范围
问题描述
我想知道,是否有任何方式在 Javascript 中告诉编译器您想使用哪个范围变量。
就像在 python 中附加关键字一样global
,编译器知道您正在使用全局关键字。
除了使用不同的名称之外,还有什么方法可以在 Javascript 中做同样的事情吗?
(在下面的示例中,我试图接触全局“红色”,但它一直被参数“绿色”所掩盖。)
const color = "red"
const printColor = (color) => console.log(color)
printColor("green")
解决方案
将全局变量直接附加到窗口对象:
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")
推荐阅读
- vb.net - 我是否必须检查 InvokeRequired 并对要更新的每个控件使用 Invoke 函数?
- python - 从键列表中过滤字典
- metal - 金属着色器语言:为什么它们在类似指令的结果中有所不同?
- python - 凯撒密码加密。没有正确移动字符的一些问题
- c# - 我的 Top Down 射击游戏中的敌人不断向玩家的左右传送,但没有跟随它
- list - Haskell 中的跨度函数
- python - 如何使用 NetworkX 获得加权图中的最短路径?
- node.js - 如何在量角器页面对象模型中重用函数内部的元素?
- java - 使用 Java 解析 curl 响应
- c# - asp.net mvc中的登录和注册问题?