Page 66 - 6105
        P. 66
     function sum (a, b) {
                        return a + b;
                      }
                      // Function Expression
                      var sum = function (a, b) {
                        return a + b;
                      }
                      Обидва  цих  оголошення  говорять  інтерпретатору:  "Оголоси  змінну  sum,
               створи функцію з зазначеними параметрами та кодом і збережи її в sum".
                      Основна відмінність між ними: функції, оголошені як Function Declaration,
               створюються  інтерпретатором  до  виконання  коду.  Тому  їх  можна  викликати  до
               оголошення, наприклад:
                      sayHi ( "Вася"); // Привіт Вася
                      function sayHi (name) {
                        alert ( "Привіт," + name);
                      }
                      А  якби  це  було  оголошення  Function  Expression,  то  такий  виклик  б  не
               спрацював:
                      sayHi ( "Вася"); // помилка!
                      var sayHi = function (name) {
                        alert ( "Привіт," + name);
                      }
                      Це  через  те,  що  JavaScript  перед  запуском  коду  шукає  в  ньому  Function
               Declaration (їх легко знайти: вони не є частиною виразів і починаються зі слова
               function) і обробляє їх. А Function Expression створюються в процесі виконання
               виразу,  в  якому  функція  буде  створена  при  операції  присвоювання  sayHi  =
               function … Як правило, можливість Function Declaration викликати функцію до
                                                                65
     	
