今年2月20日买的书,今天是5月26,三个月来,除了周末休息一天,如果没有特殊情况,我都会每晚花两个小时看这本书,以及查各种与jquery源码相关的资料.今天总算是跌跌撞撞的看完了,有点小激动,也有点小失望——虽然看完了,但是用两个字概括看完的感受就是:“糊涂”! 其实我并没有真的看完这本书,因为sizzle那块我看了一点就看不下去了,那块确实太麻烦了.miaov出的视频教程中,讲师也承认那块太麻烦,所以暂时避开先不讲. 看完了这么厚一本书(610+页),我想写长篇的评论,现在却写不出来,因为我…
1. 前言: 其实本文有点太标题党了,哈哈,见谅.说“声讨”,就是说说我作为一个<jQuery技术内幕>一个忠实读者,读本书的一些想法和建议. 2014年2月20日,我收到了<jQuery技术内幕>,密密麻麻600多页.到今天4月9日,我已经看了400多页(除却sizzle的一部分没看,因为那块实在是看不懂,就先略过). 我买了书,当时花了大约80元,而且认认真真的看了一大半,后面的部分我还会继续看下去.也算是一个忠实的读者. 学习新知识,总是一个痛苦的过程,期间也是痛并快乐着.总…
<jQuery技术内幕:深入解析jQuery架构设计与实现原理> 基本信息 作者: 高云 出版社:机械工业出版社 ISBN:9787111440826 上架时间:2014-1-10 出版日期:2014 年1月 开本:16开 页码:1 版次:1-1 所属分类:计算机 更多关于>>> <jQuery技术内幕:深入解析jQuery架构设计与实现原理>   内容简介 书籍 计算机书籍 <jquery技术内幕:深入解析jquery架构设计与实现原理>由阿里巴巴资…
jquery的外衣 jquery是一个轻量级的JS框架 //以下截取自jquery源码片段 (function( window, undefined ) { /* 源码内容 */ })( window ); 上面这一小段代码来自于1.9.0当中jquery的源码,它是一个无污染的JS插件的标准写法,专业名词叫闭包.可以把它简单的看做是一个函数,与普通函数不同 的是,这个函数没有名字,而且会立即执行,就像下面这样,会直接弹出字符串. (function( window, undefined ) {…
jQuery( object ) jquery在构造对象时,除了可以用十分好用的css选择器来查找DOM,还可以传入一个javascript对象来生成一个jquery对象. // JS var foo = {name:"foo",hello:"word"}; var $foo = $(foo); $foo.on("custom",function(){ console.log(this.name +" "+ this.hell…
4. 转换HTML代码为DOM元素 先创建一个文档片段DocumentFragment,然后调用方法jQuery.clean(elems, context, frag-ment, scripts)将HTML代码转换为DOM元素,并存储在创建的文档片段中. !fragment为true时可能有三种情况: •HTML代码不符合缓存条件. •HTML代码符合缓存条件,但此时是第一次转换,不存在对应的缓存. •HTML代码符合缓存条件,但此时是第二次转换,对应的缓存值是1. 5. 把转换后的DOM元素放…
参数selector是复杂HTML代码 则利用浏览器的innerHTML机制创建DOM元素 第157行:如果HTML代码满足缓存条件,则在使用转换后的DOM元素时,必须先复制一份再使用,否则可以直接使用 第160行:将新创建的DOM元素数组合并到当前jQuery对象中并返回 参数selector是“#id”,且未指定参数context 则调用document.getElementById()查找含有指定id属性的DOM元素 第169-173行:如果所找到元素的属性id值与传入的值不相等,则调用S…
jQuery.fn.init(selector,context,rootjQuery):构造函数 jQuery.fn.init() 负责解析参数 selector 和 context 的类型,并执行相应的逻辑,最 后返回 jQuery.fn.init() 的实例,共有12个有效分支 源码分析 定义jQuery.fn.init(selector,context,rootjQuery) init:function(selector,context,rootjQuery){ var match,ele…
第二章 构造jQuery对象 jQuery对象是一个类数组对象,含有连续的整型属性.length属性和大量的jQuery方法,$()是jQuery()的缩写 构造函数jQuery() 如果调用构造函数jQuery()时传入的参数不同,创建的jQuery对象的逻辑也会随之不同 jQuery(selector[,context]): 如果传入一个字符串参数,jQuery会检查这个字符串是选择器表达式还是HTML代码.如果是选择器表达式,则遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM…
第一章 总体构架 jQuery模块可以分为3部分:入口模块.底层支持模块和功能模块 浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其它模块基于测试结果解决浏览器之间的兼容性问题 回调函数列表模块用于增强对回调函数的管理,支持添加.移除.触发.锁定.禁用回调函数功能 异步队列模块用于解耦异步任务和回调函数,为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态 数据缓存模块用于为DOM元素和JavaScript对象附加任意类型的数据 队列模块…