1. Різні способи оголошення функцій

Ось ще трохи корисної інформації про функції JavaScript. Функції можна оголосити кількома способами, і кожен з них має свої нюанси.

Стандартний спосіб виглядає таким чином: ключове слово function та ім'я.


    function print(data)
    {
      console.log(data);
    }

Інший спосіб – спочатку оголосити змінну, а потім привласнити їй анонімну функцію.


   window.print = function(data)
    {
        console.log(data);
    }

Ці два способи приносять абсолютно еквівалентний результат. Коли ти оголошуєш звичайну функцію першим способом, об'єкт window створює нове поле з ім'ям твоєї функції, і в нього присвоюється посилання на неї.

2. Анонімні функції

Також можна створити анонімну функцію і не присвоювати її значення нічому. А навіщо така функція потрібна? Як її викликати?

Уся річ в тому, що можна викликати її одразу. Скажімо, ми оголосили функцію temp і одразу викликали її:


var temp = function(data)
    {
        console.log(data);
    }
 
temp("some info");

Також можна її оголосити й одразу викликати:


   (function(data)
    {
        console.log(data);
    })("some info");

Чимось нагадує анонімні inner-класи в Java.

3. Метод eval()

І ще один цікавий спосіб виконати код JavaScript – це взагалі не створювати функції. У JavaScript можна просто виконати код, який вказується у вигляді рядка. І тому є спеціальна функція eval() (від evaluation). Загальний формат виклику виглядає так:


        var result = eval("код або вираз");
    

Приклади:


var x = eval("1/2");
eval("alert('Hi!')");