var Связывание внутри функции JavaScript доступно вне ее функции [duplicate]

Этот вопрос уже имеет здесь ответ: как работает подъем, если JavaScript является интерпретированным языком? 2 ответа Если оператор и переменная hoisting 2 отвечают

Я читаю электронную книгу Eloquent JavaScript, и мне трудно понять, как работает var. Код ниже:

let x = 10;
if (true) {
  let y = 20;
  var z = 30;
  console.log(x + y + z);
  // → 60
}
// y is not visible here
console.log(x + z);
// → 40

С let y не видна, когда она находится вне условного оператора if, чего я ожидаю. Однако, с var, каким-то образом привязка все еще доступна даже вне условного оператора if. Как это работает?

Кроме того, будет ли привязка var доступна вне цикла цикла while?

0
задан 13 August 2018 в 15:25

0 ответов

Другие вопросы по тегам:

Похожие вопросы: