jQuery 원본 노트--4

3628 단어 jquery
each() 구현
var jQuery = function( selector, context ) {

        return new jQuery.fn.init( selector, context );

};

jQuery.fn = jQuery.prototype = {

    selector: "",

    init: function(selector){

        //   mini    。

        var result = document.querySelectorAll(selector);

        for(var i = 0;i < result.length;i++){

            this[i] = result[i] 

        }

        this.length = result.length;

    },

    //       this

    each: function(callback){

        return jQuery.each(this,callback)

    },

    constructor : jQuery

}

jQuery.fn.init.prototype = jQuery.fn

//           

jQuery.each = function(obj,callback){

    for(var i = 0;i<obj.length;i++){

        //  call  this   

        //      this       

        //    

        callback.call(obj[i],i,obj[i]);

    }

    //    

    return obj

}

//  

jQuery("div").each(function(index, element) {

    console.log(this)

});

//jQ               。

jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {

    console.log(name.toLowerCase())

});

jQuery.each는 jQuery의 도구로 대상을 집합하는 대상을 교체하기 때문에 원형에 계승하지 않고 jQuery.fn.each는 바로 jQuery입니다.each의 특례.
each는 전형적인 교체 운용이다. 예를 들어 우리가 집합된 대상에게 모두 실행하고자 하는 특정한 기능, 콜백은 each를 통해 대상이나 그룹을 옮겨다니면 콜백의 조작 대상을 끊임없이 변화시킬 수 있다.
원리는 매우 간단하다. 원소를 차례대로 리셋 함수에 전달하는 것이다. 원 코드에서 몇 가지 상황을 고려했지만 새로운 지식이 없어서 나는 보충하지 않겠다.
콜백 함수
매개 변수로서의 함수를 리셋 함수라고 부른다.하나의 함수가 하나의 함수를 받아들이다

좋은 웹페이지 즐겨찾기