窗口.变量名称.

window.variableName

本文关键字:变量名 窗口      更新时间:2023-09-26

我正在浏览一些代码,在脚本的开头我们var emailID = email .稍后,代码通过window.emailID引用电子邮件 ID。我想知道允许您通过访问 window.variableName 来引用变量的规则是什么?

不能在网上发布我的剧本,因为它与我的工作直接相关,会违反我的合同。

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

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

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

还值得一提的是,在 JavaScript 中使用全局变量不被认为是好的编码实践。

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

window.myVarwindow["myVar"]是引用全局变量的显式方法。

如果变量是在函数外部声明的

(带或不带"var"),或者在不使用"var"的情况下在函数内声明的,或者如果声明为window.myVarwindow["myVar"],则变量是全局变量。

变量是通过为其赋值或使用关键字 var 来声明的。

全局变量称为window.myVar很有用的一种情况是,如果您所在的函数具有名为 myvar 的局部变量。在这种情况下,myVar引用局部变量,而window.myVar引用全局变量。

JavaScript 中的全局变量

var no =10;
function getNo()
   alert(no); // 10
}
getNo();

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

var no =10;
function getNo()
   alert(window.no); // 10
}
getNo();

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

function setNo(){
  window.no=100;
}
function getNo()
   alert(window.no); // 100
}
setNo();
getNo();

对于纯粹的理论解释(因为我自己遇到了这个"问题")和易于消化的信息,您可以将问题视为:

var myName = "Bob"

等于 - globalObject(Window) = { myName: "Bob" }

因此,当您声明变量时,该变量名称将作为属性传递给 window 对象,其值作为属性值传递。这就是为什么基本上可以将变量作为窗口对象的对象方法调用的原因。

它用于在 JavaScript 中定义全局变量。

globalVar = "Hello World";
function function1(){
    alert(window.globalVar);
} 
function1();

这将在弹出窗口中打印"Hello World"。

    function function1(){ 
        globalVar = "Hello World";
        alert(window.globalVar);
    }function function2(){
        alert(window.globalVar);
    } 
    function1(); 
    function2();

这将创建两个值为"Hello World"的弹出窗口,一个来自 function1(),另一个来自 function2()。

因此,通过使用 window,我们可以从 javascript 中的任何范围调用变量。