javascript - 如何在 JavaScript 中使变量在其范围之外可访问
问题描述
我是 JavaScript 新手,正在学习范围。我知道有全局作用域和局部作用域,但想知道局部作用域中的变量是否可以在其作用域之外使用。
这可能吗,如果可以,怎么办?
感谢大家的快速回复。
我正在学习编程,并且我有一个关于程序员研究主题的大纲。他们说有一种方法,即使这是不好的做法,也可以用作开发人员工具,并且在某些情况下会有所帮助。
解决方案
您可以将它们分配给globalThis
(也称为window
在浏览器和global
节点中):
function assignGlobal(x) {
globalThis.globalVar = x;
}
console.log(globalThis.globalVar);
assignGlobal('foo');
console.log(globalThis.globalVar);
警告:这通常被认为是不好的做法。以一种不需要分配给全局范围的方式来重构代码通常很容易。
对于调试,您通常console.log(myObject)
可以在开发人员控制台中调用和检查它(在f12chrome 中;在 Firefox 中)Ctrl。然后,您可以右键单击输出并选择“存储为全局变量”之类的内容:Shiftk
- 右键单击→另存为全局变量
推荐阅读
- javascript - 引导侧边栏导航菜单滚动到活动面板标题的顶部
- sql - 我们可以在选择查询中使用什么而不是游标
- reactjs - Antd 无法将数据输入动态输入字段
- python - 基于动态事件的 Python 算法构建 n 个 OHLC 柱
- c - 是否有任何有效的方法(库或函数或算法)以压缩稀疏行格式删除或附加特定的行和列组件?
- jsf - f:validateRegex 在将 jsf2.1 项目部署到 weblogic12c 时始终检查
- jenkins-pipeline - 如果上传失败,Nexus Artifact Upload Plugin 不会失败管道
- scala - 无法从 spark scala 中的列名中删除空格
- reactjs - 如何在reactJs中的网格内分屏
- postgresql - 从该网络内的容器检查 docker 网络中打开的端口