_jQuery = window.jQuery;
_$ = window.$;
이 두 변수는 jQuery에서 사용되는 유일한 두 가지 전역 변수입니다. jQuery.noConflect() 함수에서 이 두 변수가 복원됩니다.
브라우저 감지를 위해 jQuery는 기능 감지 대신 UserAgent 검사를 사용합니다.
rwebkit = /(webkit)[ /]([w.] )/,
ropera = /(opear)(?:.*version)?[ /](w )/,
rmsie = /(msie) ([w.] )/,
rmozilla = /(mozilla)(?:.*? rv:([w.] ))?/,
초기화 함수 init
jQuery 쌍 JS 객체 처리는 복잡하며, 궁극적인 목표는 jQuery 선택기로 얻은 결과를 배열과 유사한 객체로 바꾸는 것입니다. 길이, 처음, 마지막 등이 있습니다. $("...")는 DOM 트리에서 일부 노드를 선택하기 때문입니다. 그러나 $에는 페이지가 로드된 후 초기화 및 실행을 위해 일반적으로 사용되는 $(function() { ... }) 및 $("<..>...")과 같은 다른 많은 기능도 있습니다. DOM 트리에 추가하는 데 사용되는 노드를 직접 얻습니다.
다음 단계는 93번째 줄부터 시작하는 긴 초기화 함수입니다. Init: function(selector, context, rootjQuery)
단계:
1. Selector는 잘못된 매개변수입니다. 빈 문자, null 및 정의되지 않음은 이를 직접 반환합니다. 즉, 기본 속성을 가진 jQuery 객체입니다.
2. 선택자는 DOMElement입니다. 즉, getElementById 등과 같은 기본 JS를 사용하여 요소를 가져옵니다. 그러면 네이티브 DOM 객체를 $로 래핑하는 것과 같습니다. 이 요소를 내부 배열의 첫 번째 위치에 배치하고 길이를 1로 설정합니다. 그런 다음 돌아오세요.
3. 특수 최적화 처리 $("body"). 이것이 document.body 요소입니다.
4. 선택자는 으로 끝나는 문자열입니다. 따라서 문자열을 사용하여 새 DOM 요소를 생성한다고 가정해 보겠습니다. 예를 들어 $("