Почему внешняя глобальная переменная var value не меняется на true? Спасибо!
var value = 0;
function f() {
if (1) {
value = true;
} else {
var value = false;
}
alert( value );
}
f();
Если вкратце, то в JS есть такая магическая вещь, как поднятие переменных. Интерпретатор JavaScript всегда незаметно для нас перемещает (поднимает) объявления функций и переменных в начало области видимости.
Код
function test() {
someFunction();
var x = 1;
}
на самом деле интерпретируется так:
function test() {
var x;
someFunction();
x = 1;
}
В вашем случае происходит тоже самое, где область видимости одной переменной value
является функция и в итоге происходит работа с локальной переменной.
Немного информации на тему есть https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Grammar_and_types
и
JavaScript и «поднятие» переменных и объявлений функций
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть сервис и компонента, в котором есть переменная partNumber - сообщает номер раздела в котором я нахожусь и дает 1, 2 или 3
В последнее время вижу много сайтов, которые при открытии выдают модальное окно с предполагаемым городом и выбором другого, если определенно...
Заметил такой баг или не баг, что в safari при нажатии "отправить" с пустыми полями не выводит подсказок типа "Заполните это поле", подсказки стандартные,...