zoukankan      html  css  js  c++  java
  • jQuery2.1.1源码分析一

    用了2周,把jquery2.1.1版本的源码读了一遍,像得了感冒,头疼、恶心、没精神。。。

    涉及javaScript基本知识点:

          工厂模式、闭包、正则表达式、引用类型(function、regExp、string、array)、块级作用域、

          DOM API、原型、数据基本类型、操作符(尤其布尔操作符)、函数(尤其是重载)

         边看源码边读JavaScript高级程序设计,发现自己的基础又忘记差不多了。。

    涉及标准或设计模式:

        Promise/A、HTML4.01 HTML5、Selectors API Level 1、Selectors Level3

    涉及开源项目:

        Sizzle JavaScript Selector Library

    涉及模块化编程

        CommonJs、AMD、CMD

    整体上来看,外层为一个自调用匿名函数(function(xx,xx){...}(xx,xx));内层为工厂模式,而jQuery多个模块也使用了工厂模式进行封装

    关于jQuery模块,主要包括以下几个模块

          核心(init、extend)、Data、Callbacks、Deferred、Ajax、事件、Animation、Sizzle

    jQuery充分利用了javaScript松散的语言特性。例如,Callbacks模块中,stack = !option.once && [],这个stack可能是布尔值或数组,

    在fire方法中,根据其数据类型不同,进行不同的操作。

    但是,各位大神所说的精妙只在读个别代码时,有所感觉。

    总体来说,对jquery源码理解还不够深入,对各位大神说的抽象思维真真是没做到。

    接下来,根据jquery书籍和网上资料,不断的去细读、精读源码,达到第一个小目标。

    第二遍感受

    js基础知识运用灵活,小技巧特别多;

    浏览器兼容性问题,集中解决,只是在某些模块零散分布;

    抽象思维非常强,逻辑严谨,少量代码,实现大量功能;

    目前使用jQuery解决业务的水平,处于及格水平,看了源码,认为jQuery提供了很多其他的更高级、更优雅得解决业务问题的思路和方法;

    梳理了知识结构,扩充技术知识面(正则表达式、ES5API、XSS),深入底层技术;

    jquery源码分析笔记和示例地址https://github.com/respectable2007/jquery-source-code-explanation

  • 相关阅读:
    快速幂模板
    部分有关素数的题
    POJ 3624 Charm Bracelet (01背包)
    51Nod 1085 背包问题 (01背包)
    POJ 1789 Truck History (Kruskal 最小生成树)
    HDU 1996 汉诺塔VI
    HDU 2511 汉诺塔X
    HDU 2175 汉诺塔IX (递推)
    HDU 2077 汉诺塔IV (递推)
    HDU 2064 汉诺塔III (递推)
  • 原文地址:https://www.cnblogs.com/respect2017/p/9828735.html
Copyright © 2011-2022 走看看