Вопрос Помогите разобраться с глобальными и локальными переменными в JavaScript

Регистрация
24 Сен 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Если глобальная переменная совпадает с именем параметра функции, то заменится ли параметр на значение переменной? Или они не зависимы?
Например:
var a = 2;
function one(a){
a=a+1;
return a;
}
one(a);
Что выведет функция 2 или 3?И почему?
 
Ничего не выведет, а вернет 3. Значение глобальной переменной не изменится. Потому что локальные переменные (в частности, формальные параметры) маскируют глобальные. Кстати, глобальные переменные в браузерном JavaScript принадлежат объекту window: function one(a){ a=a+1; window.a = window.a - 1; return a; } теперь значение глобальной переменной уменьшится при вызове на 1.
 
"Если глобальная переменная совпадает с именем параметра функции, то заменится ли параметр на значение переменной" - не правельно если переменная не овявлено в функцыи, то JS будет искаить в область видимости выше и так далее но глобал в твоем примере функцыя вызывается с параметром a=2 потом 2+1=3 и возвращяет 3 переменная a вне функцыи не меняет значение
 
Назад
Сверху