Любой, кто изучает веб-разработку, в конечном итоге обнаружит, что изучает Javascript. Это язык интернета. Если HTML — это скелет, CSS — это оболочка, то Javascript — это мышцы? Может быть? Головной мозг? Митохондрии? В любом случае, вы поняли. И если вы хотите, чтобы ваш веб-сайт не был таким скучным, как обычный текстовый файл, вы должны его изучить.

Когда вы это сделаете, если вы похожи на меня, вы будете искать сходство с любым другим языком программирования, который вы уже изучили. Вы найдете некоторые, это само собой разумеющееся, но вы также найдете некоторые различия (обычно вращающиеся вокруг синтаксиса — разберитесь), которые действительно сбивают вас с толку. Теперь лично я практиковал javascript как полный новичок за 6 месяцев до того, как переключил свое внимание на другой язык, Ruby, для серверных целей, и вернулся к JS, чтобы изменить DOM во внешнем интерфейсе. Я думал, что смогу вернуться к javascript, однако переход действительно привел к некоторому разочарованию и головной боли. В частности, помня о различиях между некоторыми из многих функций в javascript. В частности, загадочная анонимная функция.

Возвращение к JavaScript было обманчиво сложной задачей, когда в дело вмешались эти плохие парни. Анонимная функция — это функция, у которой нет имени. Хотя синтаксически они менее эффективны для нас, ленивых программистов, они могут быть очень запутанными при смешивании с другим кодом для тех, кто не так хорошо с ними знаком. Дополнительным недостатком является то, что их нельзя всегда вызывать в любом месте кода, например, в теле их собственных функций из-за их анонимности. То, как они написаны, может сбить с толку самых нетерпеливых новичков в первый раз и послужит хорошим напоминанием о том, что ваши навыки кодирования всегда должны быть актуальными для большинства опытных разработчиков. Есть несколько способов, как они могут попасть в ваш код:

Функциональные выражения

Функциональные выражения очень похожи на стандартное объявление функции. Однако их можно сделать анонимными. Возьмите, например, классическое объявление функции JavaScript ниже:

Здесь мы объявляем функцию, добавляем что-то, передаем что-то в качестве аргумента и возвращаем что-то добавленное к чему-то. Если бы это нечто было целым числом, например 1, функция преобразовала бы в 1 плюс 1 и вернула бы 2. Довольно прямолинейно! Ниже мы преобразовали addSomething в функциональное выражение, а оттуда преобразовали в анонимную функцию в очень простой форме.

Выражения стрелочных функций

Одним из основных преимуществ создания анонимной функции будет использование выражения стрелочной функции, которое может быть записано различными способами, в зависимости от того, сколько строк кода находится в функциональном блоке и сколько аргументов передается. прошел сквозь.

Если вы еще не знакомы со стрелочными функциями, первое знакомство с ними в дикой природе может привести к некоторым из тех классически разочаровывающих моментов программирования, когда вы действительно чувствуете, что читаете на иностранном языке из-за вариаций в как их можно написать. Скобки, круглые скобки и возврат являются необязательными — до тех пор, пока они не являются таковыми. Если у вас есть несколько аргументов (или ни одного), вам нужно сохранить круглые скобки. Если у вас есть несколько строк кода, вам нужно сохранить return в дополнение к скобкам.

Аргументы других функций

Вы чаще всего будете видеть анонимные функции внутри функций (которые принимают другие функции в качестве аргументов). Также известна как функция высшего порядка. Примечание: функция высшего порядка — это любая функция, которая принимает функцию в качестве параметра или возвращает функцию. Одним из примеров этого является прослушиватель событий, используемый при манипулировании DOM.

Обратите внимание на использование функции стрелки в последнем примере!

Выражение немедленно вызываемой функции

Другой тип анонимной функции — это самовыполняющаяся анонимная функция или выражение функции с немедленным вызовом. Обычно это делается, чтобы избежать беспорядка в глобальной области видимости. Несколько примечательных синтаксических требований для этого — заключение функции в круглые скобки и немедленное открытие и закрытие круглых скобок после закрытия функции.

Джинки! Демаскировка анонимной функции. Есть много вариантов функций, но анонимная функция javascript всегда будет самой загадочной в моих глазах. И, надеюсь, после прочтения этого в вашей жизни станет немного меньше загадочности!