Даниил Бобровцитирует10 дней назад
function confuseReader() {
x = "Guess my scope...";
console.log("Inside the function:", x);
}
confuseReader();
console.log("Outside of function:", x);
Ваш ответ готов? Результат будет выглядеть следующим образом:
Inside the function: Guess my scope...
Outside the function: Guess my scope...
Не закрывайте книгу, сейчас мы все объясним. Давайте посмотрим внимательно: переменная x в функции определена без использования ключевых слов let или var. Ранее она объявлена не была — перед нами весь код программы. JavaScript не видит let или var и решает: «Это, должно быть, глобальная переменная». Несмотря на то что x определяется внутри функции, объявленная внутри функции переменная получает глобальную область видимости и все равно может быть доступна за пределами функции.
  • Персиваль Р.,Свекис Л.,ван Путтен М.
    JavaScript с нуля до профи
    • 2.7K
    • 404
    • 2
    • 11
  • Войти или зарегистрироваться, чтобы комментировать