Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

вопрос по var

Каков будет результат выполнения этого кода: true,false,0 или ошибка? Почему?

var value = 0;

function f() {  
  if (1) {
    value = true;
  } else {
    var value = false;
  }

  alert(value);
}

f();

Изменится ли внешняя переменная value ?

P.S. Какими будут ответы, из строки var value = false убрать var?

Решение
Решение

Результатом будет true, т.к. var обработается и переменная будет создана до выполнения кода.

Соответственно, присвоение value=true сработает на локальной переменной, и alert выведет true.

Внешняя переменная не изменится.

P.S. Если var нет, то в функции переменная не будет найдена. Интерпретатор обратится за ней в window и изменит её там.

Так что без var результат будет также true, но внешняя переменная изменится.

#41
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!