Теперь давайте понять три ключевые слова вар, пусть, константные, характеристики и применение.
было
JavaScript, мы обычно говорят, что сфера является область видимости функции, переменный уаг заявление, независимо от того, где в коде объявляется, будет повышены до верхней части наиболее текущей области, такое поведение называется переменным подъемом (Подъемно)
То есть, если переменная объявлена внутри функции, будет повышен до начала функции, в то время как переменная объявлена глобально, она будет поднять к верхней части глобальной области.
Функция тест () { console.log ( '1:', а) // не определено , если ( ложно ) { вар а = 1 } console.log ( '3:', а) // не определено } тест ()
Фактическая реализация, приведенный выше код переменные в функции будут повышены в верхней части заявления, даже если условие если утверждение ложно, то же не влияет на переменную лифта.
Функция Test () { вар // Оператор не назначен на console.log ( '1:.', A) // неопределенную IF (ложь) { . A = 1 } // нет оператора присваивания A console.log ( '3:' , А) // не определено }
В сцене функции вложенных функции, переменные, только недавно возведены в верхнюю части функции, но не обновят к внешней функции.
// б возведенное в верхней части функции а, но не улучшит проверку работоспособности. Функция тестирования () { функция А () { ЕСЛИ (ложь) { вар В = 2 } } console.log ( 'B:', В) } Тест () // Б не определен
Если оператор не произойдет, то это будет ошибка, никакого присваивания не является не то же самое после заявления и не заявления, эта точка должна быть отдельные области, поможет нам найти ошибку
// заявление ни одного случая , а не определен
позволять
Const может быть объявлен и пусть объем на уровень блоков, а также использование аналогично вар, пусть характеристические переменный не подъем, но заблокирован в текущем блоке.
Очень простой пример:
Функция тестирования () { ЕСЛИ (истина) { console.log (А) // из ТДЗА, широко известный как временная мертвая зона, переменная , используемые для описания явления не увеличивает в Пусть A =. 1 } } Тест () // А не определена Функция тестирование () { IF (истина) { ЛПЭ A =. 1 } console.log (A) } Test () // А не определен
Единственный правильный способ использования: первое утверждение, а затем посетить.
Функциональный тест () { если (истинно) { пусть а = 1 console.log (а) } } тест () // 1