首页 > 解决方案 > 如何在 JavaScript 中使变量在其范围之外可访问

问题描述

我是 JavaScript 新手,正在学习范围。我知道有全局作用域和局部作用域,但想知道局部作用域中的变量是否可以在其作用域之外使用。

这可能吗,如果可以,怎么办?

感谢大家的快速回复。

我正在学习编程,并且我有一个关于程序员研究主题的大纲。他们说有一种方法,即使这是不好的做法,也可以用作开发人员工具,并且在某些情况下会有所帮助。

标签: javascriptscope

解决方案


您可以将它们分配给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

控制台日志

  • 右键单击→另存为全局变量

另存为全局


推荐阅读