Вопрос по javascript – window.variableName

42

Я иду через некоторый код и в начале скрипта у нас естьvar emailID = email, Позже код ссылается на emailID, перейдяwindow.emailID, Мне интересно, каковы правила, которые позволяют вам ссылаться на переменную, перейдя window.variableName?

Я не могу опубликовать свой сценарий в Интернете, так как он напрямую связан с моей работой и нарушит мой контракт.

Примечание. Для дальнейшего использования будет безопасно опубликовать небольшой фрагмент кода, который похож на код, с которым вы работаете, и который иллюстрирует, с чем у вас возникают проблемы. Matt Coughlin

Ваш Ответ

6   ответов
9

window.myVar или жеwindow["myVar"] является явным способом ссылки на глобальную переменную.

Переменная является глобальной переменной, если она объявлена вне функции (с или без "var"), или если она объявлена внутри функции без использования "var" или если она объявлена какwindow.myVar или жеwindow["myVar"].

Переменная объявляется либо путем присвоения ей значения, либо с помощью ключевого словаvar.

Один случай, когда полезно ссылаться на глобальную переменную какwindow.myVar если вы находитесь внутри функции, которая имеет локальную переменную с именемmyvar, В таком случае,myVar относится к локальной переменной, в то время какwindow.myVar относится к глобальной переменной.

Отлично. Спасибо :) Jon
7

Глобальные переменные в 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();
64

window.variableName означает, что переменная объявляется в глобальной области видимости. Это означает, что любой код JS будет иметь доступ к этой переменной. С помощьюwindow. не является необходимым, но часто используется в качестве соглашения, чтобы обозначить, что переменная является глобальной.

Глобалов, как правило, следует избегать. Вы должны определить переменные в рамках функций.

Отлично. Спасибо за разъяснение для меня :) Jon
0

Он используется для определения глобальной переменной в 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 ().

Таким образом, используя окно, мы можем вызвать переменную из любой области видимости в JavaScript.

2

Чтобы получить чисто теоретические объяснения (как я сам столкнулся с этой проблемой) и легко усваивать информацию, вы можете посмотреть на проблему следующим образом:

var myName = "Bob" равно - globalObject (Window) = {myName: & quot; Bob & quot; }

поэтому, когда вы объявляете переменную, это имя переменной передается объекту окна как свойство, а его значение - как значение свойства. Вот почему, в принципе, вы можете вызывать переменную как объектный метод объекта окна.

20

Глобальные переменные в JavaScript присоединяются к «глобальному объекту», который в среде браузера связан сwindow объект - вот почему вы можете ссылаться на глобальную переменную какvariableName или жеwindow.variableName.

Я хотел бы отметить, что использование глобальных переменных в JavaScript не считается хорошей практикой кодирования.

Вот этохорошее и очень подробное объяснение.

Ах, это имеет смысл. Jon

Похожие вопросы