jQuery的设计思路

jQuery,一个简单实用的javascript库,轻量级的,比较优秀。今天来说说它的设计思路。jQuery其实就是$,下面就用$来说了,每次我们都会这样来写,$(),其实这样就是一个函数调用,返回的是一个对象(其实不是jquery对象,严格来说是jquery原型下面的init函数构造器的对象。)在源码50几行有jQuery = function( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context, rootjQuery );
    }

 

jQuery.fn和jQuery.prototype指向的是同一个对象在100行左右jQuery.fn = jQuery.prototype = {
    // The current version of jQuery being used
    jquery: core_version,

    constructor: jQuery,
    init: function( selector, co。。。。。。。。。。。。。大家自己去看

所以,可以认为jQuery.fn就是jQuery.prototype,(现在被一个对象将jQuery.prootype对象重写,这句话估计比较难懂,可以忽略)

 

jquery调用的接口。$()返回的就是一个jquery原型下面的init函数构造器的对象。但是大家应该会问,为什么$()可以调用jquery的原型的方法呢,因为300行左右有个jQuery.fn.init.prototype = jQuery.fn; 就等于说将jquery原型对象付给 jQuery.fn.init.prototype,又或者说   jQuery.fn.init.prototype的对象被jquery原型对象 覆盖了,所以$()虽然不是jquery对象,也能访问jquery的方法等,而且现在也算是jquery对象了,因为,转个大湾还不就是,创建了jquery对象啊。     

 

posted @ 2015-04-23 16:51  带我任性,带我飞  阅读(448)  评论(0编辑  收藏  举报