摘要:JQuery并没有简单的使用一个Array来存储回调函数,而是通过JQuery.Callbacks(options)返回一个self对象,此对象可以动态的add,remove和fire回调函数队列.此函数需要说明的是options参数,它是一个string,这个string由四个参数任意组合而成op... 阅读全文
JQuery日记6.7 Javascript异步模型(二)
2014-06-06 20:59 by 尔, 140 阅读, 0 推荐, 收藏,
摘要:异步模型看起来很美,但其实它也是有天生缺陷的.看下面代码try { setTimeout( function(){ throw new Error( '你抓不到我的!' ); }, 100);} catch (e) { console.error... 阅读全文
JQuery日记6.5 Javascript异步模型(一)
2014-06-05 17:32 by 尔, 165 阅读, 0 推荐, 收藏,
摘要:在了解JQuery的异步队列实现之前,有必要去了解javascript的异步模型.Javascript的异步其实并不算严格意义上的异步,js的异步是指让某段代码片段在将来再执行,而不是让执行流不必等待继续向下进行.在多线程的语言中最容易想到的异步方式就是在当前线程中,新创建一个线程让某段代码片段运行... 阅读全文
JQuery日记 6.3 JQuery遍历模块
2014-06-03 10:23 by 尔, 145 阅读, 0 推荐, 收藏,
摘要:jQuery.extend({ // 返回elem延DOM树某个方向访问的所有节点,直到遇到until条件 dir: function( elem, dir, until ) { var matched = [], truncate = until !== undefined; while ... 阅读全文
JQuery日记 5.31 JQuery对象的生成
2014-05-31 13:18 by 尔, 109 阅读, 0 推荐, 收藏,
摘要:JQuery对象的生成1 selector为任何可转换false的空值 返回空JQuery对象2 selector为字符串 2.1 selector为html字符串或有id属性的标签 2.2.1 selector为html字符时 转换html字符为DOM元素并放入当前JQuery的数组... 阅读全文
JQuery日记_5.20 JQuery对Sizzle选择器的扩展
2014-05-20 17:53 by 尔, 147 阅读, 0 推荐, 收藏,
摘要:代码很简单直接上源码function winnow( elements, qualifier, not ) { //如果qualifier是函数 if ( jQuery.isFunction( qualifier ) ) { //not为true时,返回qualifier返回false的eleme... 阅读全文
Canavs arcTo方法的理解
2014-05-17 17:41 by 尔, 208 阅读, 0 推荐, 收藏,
摘要:arcTo方法有四个参数参数1,2为第一个控制点的x,y坐标,参数2为第二个控制点的坐标,参数3为绘制圆弧的半径.起点和第一个控制点组成的延长线与第一个控制点和第二个控制点组成的延长线都是和圆弧相切的,这个圆弧也就是被夹在两条延长线中间.圆越大,两条延长线能形成的角度能夹住的圆弧就越小.下面写了一个... 阅读全文
JQuery日记_5.14 Sizzle选择器(七)
2014-05-16 18:49 by 尔, 111 阅读, 0 推荐, 收藏,
摘要:上篇说道,tokenize方法会把selector分割成一个个selector逻辑单元(如div>a是三个逻辑单元 'div','>','a')并为之片段赋予对应类型的过滤函数。for ( type in Expr.filter ) { if ( (match = mat... 阅读全文
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
2014-05-13 13:26 by 尔, 171 阅读, 0 推荐, 收藏,
摘要:当选择表达式不符合快速匹配(id,tag,class)和原生QSA不可用或返回错误时,将调用select(selector, context, results, seed)方法,此方法迭代DOM选择、过滤元素, 在DOM树非常大的时候为了保证效率,应该保证html设计的合理,尽量使用可快速匹配(i... 阅读全文
JQuery日记 5.11 Sizzle选择器(五)
2014-05-11 11:27 by 尔, 178 阅读, 0 推荐, 收藏,
摘要://设置当前document和document对应的变量和方法setDocument = Sizzle.setDocument = function( node ) { var hasCompare, //node为Element时返回node所属document //node为Document... 阅读全文