Объем блочного уровня nodejs

Теперь давайте понять три ключевые слова вар, пусть, константные, характеристики и применение.

было

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

  

 

рекомендация

отwww.cnblogs.com/danruoyanyun/p/11390157.html
рекомендация