Объявление функций после их вызова в JavaScript

В JavaScript я обнаружил, что функция может быть объявлена ​​после вызова, но только если она объявлена ​​как функция, а не как переменная.

Это работает:

alerter('this is an alert');

function alerter(text) {
  alert(text);
}

Но это не

alerter('this is an alert');

var alerter = function(text) {
  alert(text);
}

Может кто-нибудь объяснить мне, почему они обрабатываются по-разному, и, возможно, дать краткое объяснение того, как JavaScript компилируется.

0 ответов

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