Что такое анонимная функция в jQuery?
Зачем нужна анонимная функция? Я пытался найти его в Интернете, но я не могу найти оптимальное решение для этого. Я только начал изучать jQuery и застрял в этой функции.
1 ответ
У анонимной функции в JavaScript нет названия, но она позволяет вставлять код JavaScript там, где вы обычно не сможете этого сделать.
Например, если вы хотите запустить какой-то код несколькими миллисекундами (обычная проблема и исправление) позже, потому что JavaScript не синхронизируется, как мы часто хотим, это использовать анонимную функцию для обработки деталей. По умолчанию все, что вы можете сделать, это указать функцию для вызова, когда истечет время ожидания, однако это крайне ограничивает, потому что вы не можете передавать параметры этой функции... и вам действительно нужна полноценная функция в этих случаях, чтобы начать с?
По умолчанию вы можете вызывать только другую функцию:
setTimeout(function_name_here,'4000');//Run "function_name_here" after four seconds.
function function_name_here()
{
console.log('Great, how about some parameters so I don\'t have to start using globals?');
}
//We can not declare (parameters) in this situation, lame right?
С анонимной функцией нам не нужно создавать еще одну целую функцию для обработки вещей, если весь наш код уже доступен:
var wait_what = 'Cheese it!';
setTimeout(function()
{
console.log('How much code? '+wait_what);//How much code? Cheese it!
alert('All the codes! '+wait_what);//All the codes! Cheese it!
},'4000');
Анонимные функции могут даже передаваться в качестве параметров (вы также можете передавать массивы и объекты в качестве параметров).
Кроме того, я настоятельно рекомендую избегать jQuery, как чумы, поскольку это совершенно ненужная зависимость, которая только ослабляет не только ваш код, но и подрывает ваше понимание JavaScript. Не следует заставлять людей загружать четыре копии библиотеки размером 70 КБ, когда используемый ими браузер уже понимает JavaScript. Вы также теряете производительность, и как только вы сделали достаточно качественного реального кода, вы в конечном итоге будете работать намного быстрее, чем кто-то, кто оказался в аду обслуживания.