zoukankan      html  css  js  c++  java
  • 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)
    

      

     

     

  • 相关阅读:
    Appium python环境搭建
    打印各种三角形 正方形
    python学习笔记之---多进程实例
    selenium简介及发展
    python使用selenium自动化实现126邮箱登录的简单实例
    使用多进程访问网址的实例
    python学习笔记之---多进程【理论】
    爬虫设置定时任务
    python中eval和exec用法比较
    python使用文件处理加函数的方式写ATM简易操作
  • 原文地址:https://www.cnblogs.com/sowhite/p/6354480.html
Copyright © 2011-2022 走看看