同事弄的一份对jquery的结构的罗列

//捋一下jquery的结构.
1.(function(){
   
/*--框架体--*/
    window
= this,
    undefined,
//据说var undefined直接量会快于undefined.未考证
    _jQuery = window.jQuery, _$ = window.$ //如果window里有覆盖,临时存储进_jQuery 为后面的 noConflict (交出$控制权给其它js库) 作临时存储

   
/*jquery返回的对象只是根据selecter字符串取到的dom对象,经jQuery.fn.init包装之后的返回值(一个jQuery对象).
      除些之外, jQuery对此方法还有其它扩展,比如参数如果是function 则$(fn)实际为$.ready(fn) 等等之类   
   
*/
    jQuery
= window.jQuery = window.$ = function( selector, context ) {
       
return new jQuery.fn.init( selector, context );
    },

   
//定义jQuery基本原型,并作一份拷贝给 jQuery.fn
    $.fn = $.prototype = {
        init:
function(selector, context){...},
        ...
    }

   
//现在开始对jQuery及jQuery.fn作基于类拷贝方式的扩展方法. 下面是方法.
    jQuery.extend = jQuery.fn.extend = function(p) {...}

   
//扩展jQuery,使我们可以用 $.each   $.isFunction  之类的函数。这些函数并不是基于prototype 而是属于jQuery的静态方法.
    jQuery.extend({
        each:
function(){...},
        isFunction:
function(){...}
    })
   
   
//让init函数也具有jQuery的原型, 这样init函数包装出来的对象。即是jquery对象
    $.fn.init.prototype = $.fn;

   
//一个匿名函数, 实现css  selector, 这个匿名函数里定义了 Sizzle对象,用来分析selector参数 最终Sizzle 对象被赋值给window.
   
    (
function(){...})()
   
    window.Sizzle
= Sizzle;
    jQuery.find
= Sizzle;
    jQuery.filter
= Sizzle.filter;
    jQuery.expr
= Sizzle.selectors;
    jQuery.expr[
":"] = jQuery.expr.filters;
    ...
   
   
//定义事件
    jQuery.event = {}
    jQuery.Event
= function(){}
    jQuery.Event.prototype
= {}

    $.extend({
       
/*事件*/
    })

   
//REQUEST库
    $.extend({
       
/*ajax*/
    })

   
//效果库
    $.extend({
       
/*fx*/
    })

    ....

   
//插件机制
    $.extend({
       
    })
   
})()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值