일반적으로 $(function() { alert("Hello World!"); })
기다립니다 $(document).ready()
그리고 다른 함수 (an iife) 즉시 화재.
그러나 jQuery 랩핑 함수는 매우 특정한 사용 사례입니다 (jQuery를 사용하여 DOM을 기다리고 있음). 두 가지 예는 그렇지 않으면 관련이 없습니다. 같은 두 버전으로 혼동하지 마십시오.
문제
jQuery를 사용하거나 사용하지 않는 차이가 다음 작업을 고려할 수있는 차이점이 궁금했습니다. 아직 답을 찾지 못했습니다.
jQuery :
jQuery(function() { alert("Hello World!"); })
$(function() { alert("Hello World!"); })
순수한 자바 스크립트 :
(function() { alert("Hello World!"); })()
차이점은 무엇입니까? 언제 어떤 접근법을 사용해야합니까? 고맙습니다!
해결책
일반적으로 $(function() { alert("Hello World!"); })
기다립니다 $(document).ready()
그리고 다른 함수 (an iife) 즉시 화재.
그러나 jQuery 랩핑 함수는 매우 특정한 사용 사례입니다 (jQuery를 사용하여 DOM을 기다리고 있음). 두 가지 예는 그렇지 않으면 관련이 없습니다. 같은 두 버전으로 혼동하지 마십시오.
다른 팁
$(function(){
alert("hello world");
});
다음과 같은 짧은 손입니다.
$(document).ready(function(){
alert("hello world");
});
따라서 DOM로드 후에 실행됩니다.
DOM로드 전에 순수한 JS가 실행됩니다.
jQuery 버전은 DOM이로드되면 실행되도록 바인딩됩니다. 단지 폐쇄의 종류는 정의 되 자마자 실행됩니다. 따라서 즉시 실행하려면 두 번째 버전을 사용하여 모든 것이로드 될 때까지 대기 해야하는 경우 첫 번째 버전을 사용하십시오.
적어도 그게 제가 머리 꼭대기에서 내린 것입니다.
주요 차이점은 DOM이로드 된 후 jQuery 함수가 실행된다는 것입니다. 그리고 순수한 JavaScript Lambda 함수는 즉시 (맥락에서) 실행됩니다.
두 번째 jQuery 함수는 첫 번째 jQuery 함수입니다.
JavaScript Lambda 기능을 jQuery 래퍼 안에 넣을 수 있습니다. 이는 DOM이로드 된 직후에 Lambda 기능이 실행된다는 것을 의미합니다 (JQuery가 처리 한 덕분에).