跌跌撞撞的看完了《jquery技术内幕》
今年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技术内幕》的更多相关文章
- “声讨”高云的《jQuery技术内幕》
1. 前言: 其实本文有点太标题党了,哈哈,见谅.说“声讨”,就是说说我作为一个<jQuery技术内幕>一个忠实读者,读本书的一些想法和建议. 2014年2月20日,我收到了<jQu ...
- 《jQuery技术内幕:深入解析jQuery架构设计与实现原理》
<jQuery技术内幕:深入解析jQuery架构设计与实现原理> 基本信息 作者: 高云 出版社:机械工业出版社 ISBN:9787111440826 上架时间:2014-1-10 出版日 ...
- jQuery技术内幕 深入解析jQuery架构设计与实现原理
jquery的外衣 jquery是一个轻量级的JS框架 //以下截取自jquery源码片段 (function( window, undefined ) { /* 源码内容 */ })( window ...
- 【jquery】 【jQuery技术内幕】阅读笔记 一
jQuery( object ) jquery在构造对象时,除了可以用十分好用的css选择器来查找DOM,还可以传入一个javascript对象来生成一个jquery对象. // JS var foo ...
- jQuery技术内幕电子版5
4. 转换HTML代码为DOM元素 先创建一个文档片段DocumentFragment,然后调用方法jQuery.clean(elems, context, frag-ment, scripts)将H ...
- jQuery技术内幕电子版4
参数selector是复杂HTML代码 则利用浏览器的innerHTML机制创建DOM元素 第157行:如果HTML代码满足缓存条件,则在使用转换后的DOM元素时,必须先复制一份再使用,否则可以直接使 ...
- jQuery技术内幕预览版.pdf3
jQuery.fn.init(selector,context,rootjQuery):构造函数 jQuery.fn.init() 负责解析参数 selector 和 context 的类型,并执行相 ...
- jQuery技术内幕预览版.pdf2
第二章 构造jQuery对象 jQuery对象是一个类数组对象,含有连续的整型属性.length属性和大量的jQuery方法,$()是jQuery()的缩写 构造函数jQuery() 如果调用构造函数 ...
- jQuery技术内幕预览版.pdf1
第一章 总体构架 jQuery模块可以分为3部分:入口模块.底层支持模块和功能模块 浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其它模块基于测试结果解决浏览器之间的兼容性问题 回调函 ...
随机推荐
- Web模板引擎—Mustache
Web模板引擎——Mustache 2012年9月12日 BY BELL·12 COMMENTS Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 ...
- (转)ASP.NET MVC 3和Razor中的@helper 语法
转自:http://kb.cnblogs.com/page/102191/ ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写 ...
- sql中的CONCAT函数运用实例1
1 第一个例子 select a.*,b.name as repayment_type_value,c.name as status_value, d.product_name, CONCAT(a.d ...
- C#期末大作业 消消乐 2017-06-01 18:11 275人阅读 评论(0) 收藏
邻近期末,忙于刷题之余意识到期末大作业来不及了,匆匆赶下了作业,虽说做的很是粗糙,但完全原创的 下载链接 https://pan.baidu.com/s/1cCNLr4 大体的做大约3天完成了: 第一 ...
- 数据统计--union all 执行多条sql
需求--统计hive某张表type字段不同取值的数据量 我们已知某张表的type的取值是1,2,3,4,5,想要统计不同type的数据量,并清晰的展现出来.可以通过union all 的方式,sql如 ...
- Excel函数vlookup
最近整理业务文档,需要用到excel,按照教程,操作了20来分钟,却得不到结果. 看了视频,才知道,vlookup仅限关联选中区域的第一列关联,把要关联的行拷贝到第一列,解决. https://www ...
- ASP.NET Web API 框架研究 Controller创建 HttpController 类型解析 选择 创建
上一篇介绍了HttpController的一些细节,接下来说下HttpController 类型解析.选择和创建.生产HttpController实例的生产线如下图: 一.涉及的类及源码分析 涉及的类 ...
- LDO-AMS1117
AMS1117 1.是AMS艾默森公司简称.与AMS1117对应的IC有LM1117.AMS1117的最大输入电压为15V,而LM1117的极限是20V. 2.其输出电压有固定式(1.5V,1.8V, ...
- hdu 1226 超级密码
超级密码 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem D ...
- Mac怎么安装并配置Homebrew?
1.在打开的命令行工具中输入如下语句: 复制内容到剪贴板 ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com ...