zoukankan      html  css  js  c++  java
  • jQuery2.0.3源码分析-1(持续更新中......)

    jQuery2.0.3源码包下载地址:http://jquery.com/download/

    <1>jquery 1.x系列和2.x系列的区别是:2.x不再支持IE6 7 8
    <2>
    (function(){
        //具体实现代码
    })();
    此为匿名函数的自执行,这样的好处为:函数中的变量是局部变量,不会影响外部的变量,其实这个是非常重要的,在js中引用的第三方库,这样实现是为了不影响我们自己写的js代码;
    那么有时候我们会考虑,既然是局部变量,那么我们怎么在外边通过jQuery或$来调用的jquery中的方法呢,其实很简单,我们可以通过将window这个浏览器中js的全局变量传入进去,通过例如:
    window.$ = $的方式来实现在jquery外部调用;
    <3>jquery中21-94行定义了一些变量和函数
    最重要的是jQuery = function(){}
    8826行,提供了jQuery对外的接口  window.jQuery = window.$ = jQuery;
    96-283行,给jQuery对象添加一些方法和属性
    <4>思考我们经常使用jQuery的情况$('#div1').html();来调用html方法,类似我们直接调用方法时候使用的,可以看出来$('div1')返回的是一个对象,那么jQuery也是面向对象的这么一种编程方式,在jquery代码中:
    61-64行:jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
    },
    可以看出来,返回的是一个初始化的对象
    <5>285-347行:extend:jQuery的继承方法
    <6>349-817行:jQuery.extend() 扩展一些工具方法
    类似于$.trim() $.proxy()等一些方法,这些都是jQuery扩展的静态属性和静态方法,这两种方法和上边提到的$('div1').css()等一些方法的不同在于,它不仅仅可以针对jQuery对象使用,也可以供普通的js使用

  • 相关阅读:
    负外边距--转载
    研究Dropbox Server端文件系统
    Bluetooth Profile for iPhone from the functional perspectives
    Somebody That I Used to Know
    复合查询
    聚合查询
    Filter查询
    ES基本查询
    ES版本控制
    ES基本操作
  • 原文地址:https://www.cnblogs.com/sunyingyuan/p/3686215.html
Copyright © 2011-2022 走看看