Позвольте мне объяснить в деталях, чтобы объявить глобальную переменную и локальную переменную в JavaScript
var firstNumber=5;//local variable
secondNumber=10; //global variable or window object
Когда ваша программа, как этот
var number =1;
function playSong() {
alert(number);
var number =2;
alert(number);
}
В соответствии с компилятором JavaScript все декларации/инициализации переменной будет двигаться вверх, эта концепция называется Подъем. Ссылка: https://www.w3schools.com/js/js_hoisting.asp
Согласно программе компилятор будет выполнять как
var number; //Declaration will move to top always in Javascript
number=1;
function playSong() {
var number;
alert(number); //output : undefied - This is local variable inside the function
number =2;
alert(number); // output : 2
}
Если вам необходимо получить доступ к глобальной переменной внутри использования функции window.number
var number =1;
function playSong() {
var number =2;
alert(window.number); // output : 1 -From Global variable
alert(number); // output : 2 -From local variable
}
Черт Ya'll! Спасибо за все ответы так быстро. – ian
Зачем вы пишете alert ('old number was:' + [number] + ''); , а не предупреждение ('старый номер был:' + номер); Потому что он будет предупреждать массив с одним элементом внутри, а не с элементом (номером) –
Хммм не знаю, но он работает. Я не думаю, что он будет искать любой массив, потому что я соединяю пустое пространство с правой стороны + ''; или, может быть, я не знаю. – ian