source

jQuery document.ready vs 자체 호출 익명 함수

ittop 2023. 7. 31. 21:55
반응형

jQuery document.ready vs 자체 호출 익명 함수

이 둘의 차이점은 무엇입니까?

  1. $(document).ready(function(){ ... });

  2. (function(){ ... })();

이 두 기능이 동시에 호출됩니까?알아요, 전체 HTML 페이지가 브라우저에 의해 렌더링되면 document.ready가 트리거되지만 두 번째 기능(자신이 익명 기능을 호출함)은 어떨까요?브라우저가 페이지 렌더링을 완료할 때까지 기다리거나 페이지가 발견될 때마다 호출됩니까?

  • $(document).ready(function(){ ... }); 또는 짧게 $(function(){...});

    이 기능은 다음과 같은 경우에 호출됩니다.DOM is ready즉, 예를 들어 요소를 쿼리할 수 있습니다..ready()DOM이 실제로 준비되었는지 확인하기 위해 다른 브라우저에서 다른 방법을 사용합니다.

  • (function(){ ... })();

    그것은 브라우저가 당신의 것을 해석할 때 가능한 한 빨리 스스로를 호출하는 기능에 지나지 않습니다.ecma-/javascript따라서, 당신이 성공적으로 행동할 가능성은 매우 낮습니다.DOM elements여기서.

(function(){...})();Javascript에서 발견되는 즉시 실행됩니다.

$(document).ready()문서가 로드되면 실행됩니다.$(function(){...});의 바로 가기입니다.$(document).ready()그리고 똑같은 일을 합니다.

DOM(Document Object Model)이 JavaScript 코드를 실행할 준비가 되면 다음 코드가 실행됩니다.

$(document).ready(function(){
  // Write code here
}); 

위 코드의 줄임말은 다음과 같습니다.

$(function(){
  // write code here
});

아래에 표시된 코드는 자체 호출 익명 JavaScript 함수이며 브라우저가 해석하는 즉시 실행됩니다.

(function(){
  //write code here
})();   // It is the parenthesis here that call the function.

아래에 표시된 jQuery 자체 호출 함수는 글로벌 jQuery 개체를 인수로 전달합니다.function($)이 기능은 다음과 같습니다.$정의를 위해 글로벌 범위를 통과할 필요 없이 자체 검색 기능 내에서 로컬로 사용됩니다.jQuery는 다음을 사용하는 유일한 라이브러리가 아닙니다.$이렇게 하면 잠재적인 이름 지정 충돌이 줄어듭니다.

(function($){
  //some code
})(jQuery);
  1. $(document).ready(function() { ... });단순히 그 기능을 에 결합합니다.ready즉, 말씀하신 대로 문서가 로드될 때 이벤트가 트리거됩니다.

  2. (function($) { ... })(jQuery);실제로 자바스크립트의 구성이며, 코드 조각이 하는 모든 것은 다음을 통과하는 것입니다.jQuery에 반대하는.function($)매개 변수로 사용하고 함수를 실행하므로 해당 함수 안에서$항상 다음을 참조합니다.jQuery물건.이렇게 하면 네임스페이스 충돌 등을 해결할 수 있습니다.

따라서 #1은 문서가 로드될 때 실행되고 #2는 즉시 실행됩니다.jQuery이름이 지정된 개체$속기로서

DOM이 "생성"된 후 document.ready가 실행됩니다.자동 호출 기능이 즉시 실행됩니다(삽입된 경우<head>DOM이 구축되기 전에.

언급URL : https://stackoverflow.com/questions/3259496/jquery-document-ready-vs-self-calling-anonymous-function

반응형