Чудех се каква е разликата да използвате jQuery или да не я използвате, като обмисляте следната задача. Все още не съм намерил отговор.
JQuery:
jQuery(function() { alert("Hello World!"); })
$(function() { alert("Hello World!"); })
Pure JavaScript:
(function() { alert("Hello World!"); })()
Каква е разликата? Кога трябва да използвам този подход? Благодаря ти!
Отговори:
3 за отговор № 1Общо взето, $(function() { alert("Hello World!"); })
чака $(document).ready()
и другата функция (an IIFE) незабавно пожари.
НО jQuery wrapped функцията е много специфичен случай на използване (чака DOM, използвайки jQuery); вашите два примера са иначе несвързани. Не ги бъркайте като 2 версии на едно и също нещо.
0 за отговор № 2
$(function(){
alert("hello world");
});
е къса ръка за:
$(document).ready(function(){
alert("hello world");
});
така ще се изпълни след зареждане на DOM.
докато чистите js ще бъдат изпълнени преди зареждането на DOM.
0 за отговор № 3
Версията jQuery се свързва, за да бъде изпълнена веднъжТоварите на DOM. Видът в само затваряне се изпълнява веднага след като е дефиниран. Така че, ако искате да се изпълни веднага, използвайте втората версия, ако трябва да изчакате, докато всичко е заредено, използвайте първата.
Най-малкото, това е, което съм измъкнал от главата си.
0 за отговор № 4
Основната разлика е, че функциите jQuery се изпълняват след зареждането на DOM. И чистата JavaScript lambda функция се изпълнява незабавно (в контекста му).
Втората функция jQuery е кратка за първата.
Все още можете да поставите JavaScript lambdaфункция в обвивката на jQuery. Това би означавало, че ламбда функцията ще се изпълни веднага след зареждането на DOM (благодарение на jQuery, който се погрижи за това).