跌跌撞撞的看完了《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的测试结果,其它模块基于测试结果解决浏览器之间的兼容性问题 回调函 ...
随机推荐
- C#-VS SQLServer数据库编程-摘
ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...
- DeepFace和GAN
由于换脸技术的影响,现在造假视频的成本越来越低.AI换脸视频也越来越热门,甚至有一些已经达到了以假乱真的程度.虽然有明星反对表示无奈,可是.... 据报道,2018年,arXiv上发布了902篇GAN ...
- java通过poi编写excel文件
public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...
- POJ3176--Cow Bowling(动态规划)
The cows don't use actual bowling balls when they go bowling. They each take a number (in the range ...
- iOS笔记之UIKit_UILable
UILabel*label3 = [[UILabel alloc]initWithFrame:CGRectMake(0, 60+10+60+10+60+10, 320, 60)]; label3.ba ...
- Android-Java-对象在内存中的简单关系图
代码案例一: package android.java.oop02; class Student { public int age; public String name; public void s ...
- Linux-压缩与归档
压缩:gzip/gunzip.bzip2/bunzip2.xz/unxz 归档:tar ####归档+压缩:zip 1. gzip, gunzip, zcat - compress or expand ...
- node-webkit学习(3)Native UI API概览
node-webkit学习(3)Native UI API概览 文/玄魂 目录 node-webkit学习(3)Native UI API概览 前言 3.1 Native UI api概览 Exte ...
- Canvas教程
一.Canvas基本用法 canvas对应中文是“画布”,<canvas>是HTML5的新元素,IE9+支持 canvas元素的默认大小是300px * 150px,最简单的代码将生成一个 ...
- 新品成熟EMR源码电子病历系统软件NET网络版CS可用带数据库全文档
查看电子病历系统演示 医院医疗信息管理系统,EMR电子病历系统,功能模块如下所示: 1.住院医生站 2.住院护士站 3.病案浏览工作站 4.质量控制工作站 5.系统维护工作站 本店出售系统全套源码, ...