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
   60   61   62   63   64   65   66   67   68   69   70