@Alexandr27

В чем разница двух конструкций в js?

$(function() {
 ...........}
);

и
(function($) {
.......
})
(jQuery);
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
@Sun_Day
$(function()

Это
$(document).ready(function() { ... });

Ждет пока весь HTML будет полностью загружен.

Это IIFE

(function($) {
.......
})
(jQuery);


Функция которая вызывается сразу при определении, т.е
В классическом случае вам нужно сначала определить функцию, затем ее вызвать.

function hello() {
   console.log("HELLO WORLD")
}
hello();


В случае IIFE она вызывается сразу

(function() {
     console.log("HELLO WORLD")
})()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
$(function() {

});
вызывает функцию $ и отдает ей анонимную функцию в качестве аргумента

(function($) {

})(jQuery);
Вызывает анонимную функцию сразу, параметр jQuery попадет в аргумент $ внутри функции
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
В контексте jQuery 1-е выражение выполнит вложенную функцию после того, как документ будет «готов». Это синоним $(document).ready(function() { ... });

2-е выражение просто передаёт jQuery внутрь функции в виде аргумента $.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы