6.1 Разные способы объявления функций

Еще немного полезной информации про функции в JavaScript. Функции можно объявить несколькими способами, у каждого из них есть свои нюансы.

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


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

Второй способ — это сначала объявить переменную, а затем присвоить ей анонимную функцию.


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

Эти два способа дают абсолютно эквивалентный результат. Когда вы объявляете обычную функцию первым способом, то у объекта window создается новое поле с именем твоей функции и в него присваивается ссылка на нее.

6.2 Анонимные функции

Также можно создать анонимную функцию и не присваивать ее значение ничему. А зачем же такая функция нужно? Как ее вызвать?

А все дело в том, что можно вызвать ее сразу. Допустим мы объявили функцию temp и тут же вызвали ее:


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

Так же можно ее объявить и сразу вызвать:


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

Чем-то напоминает анонимные inner-классы в Java…

6.3 Метод eval()

И еще один интересный способ выполнить код в JavaScript – это вообще не создавать функции. В JavaScript можно просто выполнить код, заданный в виде строки. Для этого есть специальная функция eval() (от evaluation). Общий формат вызова выглядит так:


        var result = eval("код или выражение");
    

Примеры:


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