$(function(){ /*...*/ });
То же, что и
$(document).ready(function(){ /*...*/ });
По сути, он просто задерживает выполнение кода, пока документ не будет готов. Это просто анонимная функция. То же самое вы видите в своем вызове $.hover()
, который принимает две анонимные функции - одну для определения логики входа, а другую для определения логики выхода.
$(".foo").hover(
function(){ alert("You entered!"); },
function(){ alert("You exited!!"); }
);
Иногда эти функции приносят с собой различные локализованные переменные, которые вы можете использовать. Например, если бы вы перебрали множество элементов, используя метод jQuery $.each()
:
$(".foo").each(function(i,o){
alert("Currently on " + i); // Currently on 0, Currently on 1...
});
Вы можете видеть, что у нас есть две переменные i
и o
, доступные нам здесь. i
- это индекс текущего элемента, который повторяется, а o
- это ссылка на сам элемент.