[너의 jQuery? 너의 jQuery] (둘)--jQuery의 구성

4759 단어 jquery
목적:
 
jQuery 대상이 무엇인지, 그리고 jQuery 대상의 원형 방법과 정적 방법을 이해하다
 
해결:
"복제전편의""2""섹션 코드:
하나,
 1  (function (window, undefined) {
 2    var jQuery = window.jQuery = window.$ = function (selector, context) {
 3      return new jQuery.fn.init(selector, context);
 4     }
 5     jQuery.fn = jQuery.prototype = {
 6          init: function (selector, context) {
 7              },
 8              jquery: "xxx",
 9              css:function(){
10              },
11              attr:function(){
12              },
13       } 
14  jQuery.fn.init.prototype = jQuery.fn;
15  })(window)
16  alert($().jquery)    //     $(oo).xx      

만들어진 것이 바로 jQuery 대상, 즉 new의 jQuery입니다.fn.init의 실례, 이 실례가 천성적으로 얻은 방법은 jQuery 대상의 원형 방법, 즉 코드의 빨간색 부분이다.
그렇다면 정태적인 방법은 무엇일까?
먼저 다음 함수를 살펴보겠습니다.
2.
 1  jQuery.extend = jQuery.fn.extend = function (obj, target) {
 2         target = target || this; //   target  ,      ,   jQuery  3         for (var name in obj) {
 4             target[name] = obj[name];
 5         }
 6         return target;
 7  }
 8  jQuery.extend({
 9        each:function(){},
10        trim:function(){}
11 })

물론 원본의 extend는 이 소박보다 낫다. 나는 단지 간단한 복제 속성의 부분을 제시했을 뿐이다. 이것은 우리가 jQuery의 새로운 방법이나 속성을 넓히는 데 충분하다. 이 새로운 것을 넓히는 것은 정적 방법이다. 즉, 실례화하지 않아도 $와 같이 사용할 수 있다.each(),$.trim () 이런 거.
이렇게 원형 방법과 정적 방법을 이해하면 우리는 대대적으로 확장할 수 있다. jQuery 대상이 타고난 것이 있으면 jQuery로 가라.prototype={} 안에 쓰여 있습니다. jQuery를 직접 확장하십시오.XX면 jQuery에 있어요.extend ({}) 에 쓰여 있습니다.
 
(이 편은 여기까지, 기타 내용은 미완성, 계속...)
 
다음 프롬프트:
포인트가 왔다!오른쪽에서 왼쪽으로 이동하는 Sizzle의 아이디어를 활용하여 CSS 선택기 만들기

좋은 웹페이지 즐겨찾기