• jquery源码学习(一)——jquery结构概述以及如何合适的暴露全局变量


    jQuery 源码学习是对js的能力提升很有帮助的一个方法,废话不说,我们来开始学习啦

    我们学习的源码是jquery-2.0.3已经不支持IE6,7,8了,因为可以少学很多hack和兼容的方法。

    jquery-2.0.3的代码结构如下

    首先最外层为一个闭包, 代码执行的最后一句为window.$ = window.jquery = jquery 让闭包中的变量暴露倒全局中。

    传参传入window是为了便于压缩

    传入undefined是为了undifined被修改,他是window的属性,可以被修改的。

    (function(window,undefined){
    
    //(21,93) 提供了一些变量
    
    //(96,283) 给jq添加一些对象和方法
    
    //(285,347) extend : jq的继承方法,方便扩展
    
    //(349,817) jquery.extend : 扩展了一些工具方法
    
    //(877,2856) Sizzle : 复杂选择器的实现
    
    //(2880,3042) callBakcs : 回调对象 : 函数的一个统一管理
    
    //(3034,3183) Deferred : 延时对象 : 对异步统一管理
    
    //(3184,3295) Support : 功能检测 : 
    
    //(3308,3652) data() : 数据缓存机制
    
    //(3653,3797) queye()队列管理,入队
    
    //(3803,) 对元素属性的操作
    
    //(4300,5128) on, triggle 事件操作的相关方法
    
    //(5140,6057) DOM操作 : 添加删除获取包装
    
    //(6058,6620) css() : 样式的操作
    
    //(6621,7854) 提交数据和ajax() : ajax() load() getJson()
    
    //(7855,8584) animate() : 运动的实现
    
    //(8585,8792) offset() : 位置和尺寸的方法
    
    //(8804,8821) Jq支持模块化的模式
    
    //(8826) window.jquery = window.$ = jquery
    
    	function JQuery(){
    	}
    	function jQuery(){
    		return new JQuery( )
    	}
    	window.$ = window.jquery = jQuery; //提供对外接口;
    })(window)
    

      

     

     

  • 相关阅读:
    POJ_1066_Treasure Hunt_判断线段相交
    【转载】VS写汇编程序01:VS2015配置汇编语言开发环境
    【转载】汇编调试程序Debug使用
    【转载】C++ STL快速入门
    Longest Palindromic Substring
    Leetcode经典试题:Longest Substring Without Repeating Characters解析
    C++数组的初始化
    C++题目:回文数判断
    C++-int类型整数超出范围后的处理
    Memorise Me!——用数值做地址,实现快速查找
  • 原文地址:https://www.cnblogs.com/sowhite/p/6354480.html
Copyright © 2020-2023  润新知