Синтаксис function() { ... }
- это способ объявления анонимной функции в Javascript.jQuery использует множество из них, чтобы указать, что какое-то действие будет выполнено позже, например, когда происходит событие.Вы можете думать об этом как о задержке выполнения вашей функции до тех пор, пока это не будет необходимо.Без этого синтаксиса любой код, который вы размещаете там, оценивается немедленно, а это не то, что вам нужно для обработчика событий.
Вы можете подумать: «Почему JavaScript не настолько умен, чтобы понимать разницу?Подумайте над этим:
function returnCallback(linkId, data) {
return function(e) {
alert('Clicked on ' + linkId + '. Here is some data: ' + data);
// Maybe do some stuff with e, the event parameter
}
}
$('#some-link').click(returnCallback('some-link', 'some-data'));
$('#other-link').click(returnCallback('other-link', 'different-data'));
Это надуманный пример, но он иллюстрирует силу анонимных функций и замыканий.Это работает, так как returnCallback
возвращает функцию.