JavaRush /Курсы /JSP & Servlets /Типы функций в JavaScript

Типы функций в JavaScript

JSP & Servlets
7 уровень , 5 лекция
Открыта

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!')");
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Алексей Уровень 115
21 мая 2025
Очень крутое изложение лекций. Очень содержательно. Жаль что инфа старая. Уже с 2015 года есть ещё arrow function. А ля лямбда в Java.
Виктор Уровень 109 Expert
18 декабря 2023
А зачем же такая функция нужно? Просьба исправить опечатку в разделе 6.2
Роман Уровень 88
3 ноября 2024
специально назло тебе никто это исправлять не будет
Виталий Уровень 107 Expert
5 сентября 2023
Первый
Виктор Уровень 40
20 сентября 2023
серьезно? Вам 10 лет?
5 января 2024
Третий