在 Javascript 中,实际上不可能有 2 个具有不同目标的变量,并且在同一个scope.
基本上,有两种类型的范围:global和local。全局作用域是您在不同文件中创建两个具有相同名称的变量所面临的问题。
曾经,这是一个常见问题,开发人员同意尝试制作具有不同作用域的文件,并仅在必要和不可避免时才使用全局作用域。
因此,创建新作用域(本地)的最常见方法是关闭函数中的代码。javascript 中的函数会创建一个新的作用域,该作用域无法从全局访问,但您仍然可以从本地作用域访问全局作用域。
此外,还有 2 种方法可以保持代码模块化(1 个文件 = 1 个模块):使用AMD或CommonJS模块。
有关范围的更多信息请参见此处。