В этот пост включены некоторые из моих заметок из первых трех глав книги Секреты Javascript Ninja, соавтором которой является создатель библиотеки JQuery Джон Ресиг.
Первая часть книги посвящена функциональной природе Javascript, и в этой статье я буду обсуждать возможности функций.
Зачем использовать функциональный язык?
В Javascript функция - это «основная модульная единица выполнения». Этот язык использовался в основном как язык сценариев браузера. Следовательно, наличие «универсальных и мощных функций» дает нам высокий уровень гибкости с точки зрения написания кода.
Функции в Javascript считаются первоклассными объектами, потому что они обладают следующими возможностями:
Может быть создано с помощью литералов, например
Может быть присвоено переменным, элементам массива и свойствам других объектов, например
Может передаваться в качестве аргументов функциям, например
Могут быть возвращены как значения из других функций, например
Может обладать свойствами, которые можно динамически создавать и присваивать, например
В нефункциональных объектно-ориентированных языках методы не могут завершиться сами по себе и не могут быть переданы в качестве аргументов другим методам. Они должны быть объявлены как члены объекта. Хотя C ++ и Java в последние годы разработали концепцию лямбда-функций, которые аналогичны анонимным функциям Javascript.
Анонимные функции используются в веб-программировании, чтобы не загрязнять глобальное пространство имен. Лучше создать множество маленьких функций и передать их другим функциям.
Таким образом, в этом посте на примерах я смог продемонстрировать мощь функционального программирования на Javascript!