ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# JavaScript:定义全局变量的正确方法 > 原文: [https://howtodoinjava.com/javascript/javascript-correct-way-to-define-global-variables/](https://howtodoinjava.com/javascript/javascript-correct-way-to-define-global-variables/) 我们知道什么是[**全局变量**](https://en.wikipedia.org/wiki/Global_variable "Global variable")或常量,它们是可在应用范围内访问的字段。 在 Java 中,通常是通过定义“`public static`”字段来完成的。 在这里,通过添加`final`关键字,我们可以将全局变量更改为**全局常量**。 很容易,对吧? 但是 javascript 呢? 这些脚本语言没有这些访问修饰符等,那么我们有什么选择呢? ![javascript jquery](https://img.kancloud.cn/04/e3/04e35cf362b6356760b445d614094a40_272x185.png "javascript jquery") 我在正常工作时间遇到了类似的情况,并且知道以传统的 javascript 方式定义全局变量会破坏生产代码。 **传统方式**是: ```java var iAmGlobal = "some val"; //Global variable declaration //Any place in other part of code function doSomething() { //iAmGlobal = "changed value"; alert(iAmGlobal); //I am accessible here too !! } ``` 这些类型实际上是在很长一段时间内声明的,对于一些不幸的伙伴来说,它会导致 Java 脚本中出现著名的“对象不支持此属性或方法”错误。 如果您还记得一个 **IE 错误,它带有“`var a = foo`”,则仅声明了文件范围**的全局变量。 这是 IE 臭名昭著的解释器的问题。 那么,在 JavaScript 中声明全局变量的正确方法是什么? ## 在 JavaScript 中声明全局变量的正确方法 正确的方法是使用窗口对象。 并使用如下语法: ```java var window.iAmGlobal = "some val"; //Global variable declaration with window. //Any place in other part of code function doSomething() { alert(window.iAmGlobal); //I am accessible here too !! //OR alert(iAmGlobal); //I am accessible here too !! } ``` 通过以这种方式定义全局变量,您将使 JavaScript 更加健壮和可靠。 ## 要点: 1. 使用`window`关键字以“`window.VAR_NAME`”的形式定义全局变量 2. 您可以使用“`window.VAR_NAME`”或直接“`VAR_NAME`”访问变量 3. 不要使用同名的其他变量,否则可能会导致不良结果。 所有人都在这个话题上。 **进一步阅读**: [http://stackoverflow.com/questions/4862193/javascript-global-variables](https://stackoverflow.com/questions/4862193/javascript-global-variables) **学习愉快!**