как вызвать глобальную переменную внутри другой области Javascript

#javascript

#javascript

Вопрос:

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

 <script>
var number =2;

var fun= function(numbs){
    console.log(number);
    //here it displays 2

    var number =numbs;
    console.log(number);
    //here it  displays 3


    console.log(number);
    //how do i get value of global variable here
}

fun(3);
</script>
  

Комментарии:

1. ИМХО, использовать одно и то же имя переменной в разных областях и пытаться ссылаться на родительские области. используйте var numbers = numbs; вместо этого!

2. Вы запускали это перед публикацией? Первая строка ( // here it displays 2 ) фактически отображается undefined из-за подъема переменной.

Ответ №1:

вы должны иметь возможность вызывать

 window.number
  

Глобальная переменная на самом деле является просто свойством объекта window .

Ответ №2:

Просто :

 console.log(window.number);
  

Из MDN :

Глобальные переменные

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

Но вам не обязательно это делать. Если вам нужно обойти затенение, у вас проблема с дизайном, и вам, вероятно, следует ее исправить.