今年2月20日买的书,今天是5月26,三个月来,除了周末休息一天,如果没有特殊情况,我都会每晚花两个小时看这本书,以及查各种与jquery源码相关的资料。今天总算是跌跌撞撞的看完了,有点小激动,也有点小失望——虽然看完了,但是用两个字概括看完的感受就是:“糊涂”!

  其实我并没有真的看完这本书,因为sizzle那块我看了一点就看不下去了,那块确实太麻烦了。miaov出的视频教程中,讲师也承认那块太麻烦,所以暂时避开先不讲。

  看完了这么厚一本书(610+页),我想写长篇的评论,现在却写不出来,因为我没真正看懂jquery。我愿意分享学习过程中的经验给大家,现在也没有,因为我没看懂jquery。我想发表一些对jquery源码的看法,现在也没有,还是因为我没看懂jquery。不得不承认,jquery的源码确实很难。不是短时间内能吃透的。

  其实我也知道,想看懂一本书,看一遍不行。想学好jquery源码,光靠这一本书不行。

  虽然这本书给我了最初的指导,但是我觉得我这几个月是一直在绕弯、走弯路。一般在第一次探索某件事情,没有多少前人经验指导时,走弯路是不可避免的。但是走完了弯路之后,你就能发现捷径。我现在就觉得,如果再有人再去出jquery源码解读,一定要把jquery的存储结构,数据对象之间的关系给理透了。千万不要一上来就从第一行代码开始,一直讲到最后一行。

  我相信绝大部分学习者学jquery的目的还是想了解它的设计、结构以及技巧。根据8/2法则,20%的代码解决80%的需求,一定要有主有次,突出重点。例如讲到css那块,一定要先把jquery解决浏览器兼容的思路说明白了。再例如讲到事件,已定要先把事件是存储到缓存上、以及事件的存储结构讲明白。

  我们许多时候缺乏的是思考,所以我们才会把自己飞了九牛二虎之力才挣扎的学完的东西,又填鸭式的教给了别人。如果我们能站在jquery作者的角度去思考jquery的源码,可能会更好一些。这样我们所面对的问题就不只是jquery哪一行代码是什么意思的问题了,我们还得去思考为什么会有jquery?它的出现是应对哪些问题?带来哪些便利?我们是如何思考这个问题如何设计解决这个问题的?直到最后,才是源码。

  这段时间我白天会抽一点时间看设计模式。当时我就试着用上面那个思路去思考,解决效果出人意料。虽然现在我还没有整理完全部的设计模式,但我整理过的,我都能理解并记住了。回想以前学过很多次设计模式,学一次忘一次。写过两篇关于这个的博客,得到一点点赞,至少已经有人也认同了。

跌跌撞撞的看完了《jquery技术内幕》的更多相关文章

  1. “声讨”高云的《jQuery技术内幕》

    1. 前言: 其实本文有点太标题党了,哈哈,见谅.说“声讨”,就是说说我作为一个<jQuery技术内幕>一个忠实读者,读本书的一些想法和建议. 2014年2月20日,我收到了<jQu ...

  2. 《jQuery技术内幕:深入解析jQuery架构设计与实现原理》

    <jQuery技术内幕:深入解析jQuery架构设计与实现原理> 基本信息 作者: 高云 出版社:机械工业出版社 ISBN:9787111440826 上架时间:2014-1-10 出版日 ...

  3. jQuery技术内幕 深入解析jQuery架构设计与实现原理

    jquery的外衣 jquery是一个轻量级的JS框架 //以下截取自jquery源码片段 (function( window, undefined ) { /* 源码内容 */ })( window ...

  4. 【jquery】 【jQuery技术内幕】阅读笔记 一

    jQuery( object ) jquery在构造对象时,除了可以用十分好用的css选择器来查找DOM,还可以传入一个javascript对象来生成一个jquery对象. // JS var foo ...

  5. jQuery技术内幕电子版5

    4. 转换HTML代码为DOM元素 先创建一个文档片段DocumentFragment,然后调用方法jQuery.clean(elems, context, frag-ment, scripts)将H ...

  6. jQuery技术内幕电子版4

    参数selector是复杂HTML代码 则利用浏览器的innerHTML机制创建DOM元素 第157行:如果HTML代码满足缓存条件,则在使用转换后的DOM元素时,必须先复制一份再使用,否则可以直接使 ...

  7. jQuery技术内幕预览版.pdf3

    jQuery.fn.init(selector,context,rootjQuery):构造函数 jQuery.fn.init() 负责解析参数 selector 和 context 的类型,并执行相 ...

  8. jQuery技术内幕预览版.pdf2

    第二章 构造jQuery对象 jQuery对象是一个类数组对象,含有连续的整型属性.length属性和大量的jQuery方法,$()是jQuery()的缩写 构造函数jQuery() 如果调用构造函数 ...

  9. jQuery技术内幕预览版.pdf1

    第一章 总体构架 jQuery模块可以分为3部分:入口模块.底层支持模块和功能模块 浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其它模块基于测试结果解决浏览器之间的兼容性问题 回调函 ...

随机推荐

  1. (最长公共子序列 暴力) Common Subsequence (poj 1458)

    http://poj.org/problem?id=1458 Description A subsequence of a given sequence is the given sequence w ...

  2. Webpack 学习2

    webpack + react 优化:缩小js包体积 webpack 介绍 & 安装 & 常用命令 30分钟手把手教你学webpack实战 Webpack 中文指南

  3. STL容器(C11)--unordered_map用法

    http://www.cplusplus.com/reference/unordered_map/unordered_map/

  4. Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义

    条款31 千万不要返回局部对象的引用, 不要返回函数内部用new初始化的指针的引用 第一种情况: 返回局部对象的引用; 局部对象--仅仅是局部的, 在定义时创建, 在离开生命空间时被销毁; 所谓生命空 ...

  5. iOS开发中与库相关的术语

    动态库 VS 静态库 Static frameworks are linked at compile time. Dynamic frameworks are linked at runtime

  6. ubuntu 安装CUDA 8.0

    安装CUDA 8.0 1) 在终端运行指令 sudo sh cuda_8.0.44_linux.run --no-opengl-libs 不加这个选项会进入循环登陆 2) 之后是一些提示信息,输入ac ...

  7. Microsoft.Office.Interop.Excel.ApplicationClass can not embedded 的问题

    用c#进行开发时,要做一个excel导入功能,期间使用到Microsoft.Office.Interop.Excel程序集,在用vs2008开发的时候没有报错,将这个程序集引用到vs2010的时候,便 ...

  8. 【转】C#中dynamic的正确用法

    原文:http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4.0的新特性.dynamic ...

  9. CopyOnWriteArrayList源码解析(2)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 5.删除元素 public boolean remove(Object o) 使用方法: list.remo ...

  10. 通过javascript 直接播放amr格式的语言

    前段时间做了个功能(有2.3个月了,突然想起来了,就记录一下),语言播放.一开始觉得很简单~~~ 计划应用的是H5的audio标签,但因为这个标签不支持amr格式的语言,但是手机端传到后台的录音却都是 ...