Page 65 - 6105
        P. 65
     Увага: після sayHi немає дужок. Якби вони були, то виклик var func = sayHi ()
               записав  би  в  func  результат  роботи  sayHi  (),  який    дорівнює  undefined,  адже
               всередині sayHi немає return. На момент (3) функцію можна викликати і як sayHi
               () і як func ()... Проте, в будь-який момент значення змінної можна змінити. При
               цьому, якщо воно не функція, то виклик (4) видасть помилку.
                      Звичайні  значення,  такі  як  числа  або  рядки,  є  даними.  А  функцію  можна
               сприймати як дію. Цю дію можна запустити через дужки (), а можна і скопіювати
               в іншу змінну, як було продемонстровано вище. Існує альтернативний синтаксис
               для оголошення функції, який ще більш наочно показує, що функція - це всього
               лише різновид значення змінної.
                      Він  називається  «Function  Expression»  (функціональний  вираз)  і  виглядає
               так:
                       var f = function (параметри) {
                        // тіло функції
                      };
                      Наприклад:
                      var sayHi = function (person) {
                        alert ( "Привіт," + person);
                      };
                      sayHi ( 'Вася');
                      «Класичне»  оголошення  функції,  виду  function  ім'я  (параметри)  {...},
               називається в специфікації мови «Function Declaration».
                      Function Declaration – функція, оголошена в основному потоці коду.
                      Function  Expression  –  оголошення  функції  в  контексті  будь-якого  виразу,
               наприклад присвоювання.
                      Незважаючи на трохи різний вигляд, по суті ці два записи роблять одне і те
               ж:
                      // Function Declaration
                                                                64
     	
