jQuery源码阅读之一 如何实现最基本的功能

1.实现变量私有化--->使用立即执行函数实现

2. 把变量暴露到全局 ---> 利用对象,把变量添加到window的属性,使用window[prop]

为了能够使用$ 和 jQuery ----> window.jQuery = window.$ = jQuery;

3. 不需要 new 构造函数

① 返回一个构造函数

② 将函数定义在jQuery的原型上 

③ 入口函数init的原型指向jQuery的原型,实现链式调用  $.fn.init.prototype = $.prototype;

var jQuery = function(){

    return new jQuery.prototype.init();

}

window.$ = window.jQuery = jQuery;

$.fn = $.prototype = {

    init : function(){

        this[0] = document.getElementByClassName('box')[0];

        length = 1;

        return this;

    },

    css : function (){

        console.log('css')

    },

    

    html : function (){

        console.log('html');

        return this;

    }

}

    4. 实现链式调用

原型上的每个构造函数都return this;



你可能感兴趣的:(jQuery源码阅读之一 如何实现最基本的功能)