Пример 1 определяет функцию, называемую add
, тогда как пример 2 просто передает анонимную функцию функции jQuery.
Синтаксис $(function() {...});
является сокращением для $(document).ready(function() {...});
, которое принимает функцию в качестве аргумента, а затем выполняет эту функцию, когда DOM готов. Это используется для обеспечения того, чтобы элементы, с которыми вы хотите работать в вашем Javascript, фактически существуют до выполнения кода.
Edit обратиться комментарий ниже:
.click()
функция JQuery имеет два применения. Если вы передаете функцию, она создает дополнительный обработчик события click, который будет запускать эту функцию при срабатывании события. Если вы не передадите функцию, она вызовет все обработчики событий кликов, которые были прикреплены к элементу (элементам) объекта jQuery. Итак, да, вы можете позвонить .click()
без функции, но это не делает то же самое.
Вы не можете сделать следующее:
$(document).ready(var foo = 2;...);
потому, что даст вам синтаксическую ошибку. Вы можете, однако, определить функцию обычным способом, а затем передать , что на призыв $(document).ready()
:
function foo() {
var foo = 2;
...
}
$(document).ready(foo);
ref: http://api.jquery.com/jQuery/ – Yoshi