Skip to content

Latest commit

 

History

History
62 lines (37 loc) · 2.52 KB

264.md

File metadata and controls

62 lines (37 loc) · 2.52 KB

JavaScript:定义全局变量的正确方法

原文: https://howtodoinjava.com/javascript/javascript-correct-way-to-define-global-variables/

我们知道什么是全局变量或常量,它们是可在应用范围内访问的字段。 在 Java 中,通常是通过定义“public static”字段来完成的。 在这里,通过添加final关键字,我们可以将全局变量更改为全局常量。 很容易,对吧?

但是 javascript 呢? 这些脚本语言没有这些访问修饰符等,那么我们有什么选择呢?

javascript jquery

我在正常工作时间遇到了类似的情况,并且知道以传统的 javascript 方式定义全局变量会破坏生产代码。 传统方式是:

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 中声明全局变量的正确方法

正确的方法是使用窗口对象。 并使用如下语法:

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

学习愉快!