window.variableName

Jon*_*Jon 47 javascript

我正在阅读一些代码,并在脚本的开头我们有var emailID = email.稍后,代码通过go引用emailID window.emailID.我想知道什么是允许你通过window.variableName引用变量的规则?

我无法在线发布我的脚本,因为它与我的工作直接相关,会违反我的合同.

mar*_*ljn 75

window.variableName表示变量在全局范围内声明.这意味着任何JS代码都可以访问此变量.使用window.不是必需的,但经常用作表示变量是全局变量的约定.

通常应避免使用全球.您应该在函数范围内定义变量.


Ser*_*gey 23

JavaScript中的全局变量附加到"全局对象",在浏览器环境中将其别名为window对象 - 这就是为什么您可以将全局变量引用为variableNamewindow.variableName.

我想提一下,在JavaScript中使用全局变量并不是一个好的编码实践.

这是一个很好的非常详细的解释.


Mat*_*lin 10

window.myVar或者window["myVar"]是引用全局变量的明确方式.

变量是一个全局变量,如果它在一个函数之外声明(有或没有"var"),或者它是在一个函数内声明而不使用"var",或者它被声明为window.myVarwindow["myVar"].

通过为其赋值或使用关键字声明变量var.

window.myVar如果你在一个调用了局部变量的函数内,那么引用全局变量很有用的一种情况myvar.在这种情况下,myVar指的是局部变量,而window.myVar指的是全局变量.


Nan*_*mar 7

JavaScript中的全局变量

var no =10;
function getNo()
   alert(no); // 10
}
getNo();
Run Code Online (Sandbox Code Playgroud)

设置全局变量后,它将添加到窗口对象中!

var no =10;
function getNo()
   alert(window.no); // 10
}
getNo();
Run Code Online (Sandbox Code Playgroud)

我们可以直接设置窗口变量.

function setNo(){
  window.no=100;
}
function getNo()
   alert(window.no); // 100
}
setNo();
getNo();
Run Code Online (Sandbox Code Playgroud)