zoukankan      html  css  js  c++  java
  • jquery源码之通篇概要

    我要学习的是jquery 2.0.3 版本的源码。首先说明为什么要选择这个版本,理由很简单,jquery 2.x 之后就不支持ie6,7,8了,很多hack方法都会没有.

    这边文章记录的是jquery源码通篇概要,请直接往下看:
    (function(window, undefined) {
      (21,94)          定义了一些变量和函数 jQuery = function() {}【201712042300】
      (96,283)        jQuery.fn :给JQ对象,添加一些方法和属性【20171213221700】
      (285,347)      extend :jq的继承方法 【201712182150】
      (349,817)       jQuery.extend() :拓展一些工具方法
      (877,2856)     Sizzle :复杂选择器的实现
      (2880,3042)   Callback :回调对象 :对函数的统一管理
      (3043,3183)    Deferred :延迟对象 :对异步的统一管理
      (3184,3295)    support :功能检测
      (3308,3652)   data() :数据缓存
      (3653,3797)   queue() :队列管理
      (3803,4299)   attr() prop() val() addClass()等 :对元素属性的操作
      (4300,5128)    on() trigger() :事件操作的相关方法
      (5140,6057)    DOM操作 :添加 删除 获取 包装 DOM筛选
      (6058,6620)   css() :样式操作
      (6621,7854)    提交的数据和ajax() :ajax() load() getJson()
      (7855,8584)   animate() :运动的方法
      (8585,8792)   offset() :位置和尺寸的方法
      (8804,8821)    JQ支持模块化的模式 
      (8826)              window.jQuery = window.$ = jQuery;  
    })(window);
     
    【备注】
    1、为什么jq选择把全部代码封装在一个匿名函数内?
    第一:匿名函数自执行创建函数作用域与外界有很好的隔离作用,与其他代码互不影响;
    第二:关于这个匿名函数接收的两个参数:window 和 undefined
       window作为参数传递的原因:作为参数传递window是匿名函数使用window时查找最快,还有对于jq源码的编译混淆;
       undefined作为参数传递的原因:初始化undefined的值,防止外界对undefined这个属性修改,ie低版本允许对undefined进行赋值;
     
     
  • 相关阅读:
    将node.js代码放到阿里云上,并启动提供外部接口供其访问
    Linux内核深度解析之内核互斥技术——读写信号量
    man 1 2 3 4...
    Android Sepolicy 相关工具
    selinux misc
    ext4 mount options
    tune2fs cmd(ext fs)
    /dev/tty node
    kernel misc
    fork & vfork
  • 原文地址:https://www.cnblogs.com/shihangbo/p/7955766.html
Copyright © 2011-2022 走看看