主页 详情

《jQuery技术内幕 深入解析jQuery架构设计与实现原理》_高云著_13465612_9787111440826

【书名】:《jQuery技术内幕 深入解析jQuery架构设计与实现原理》
【作者】:高云著
【出版社】:北京:机械工业出版社
【时间】:2014
【页数】:616
【ISBN】:9787111440826
【SS码】:13465612

最新查询

内容简介

第一部分 总体架构

第1章 总体架构

1.1设计理念

1.2总体架构

1.3自调用匿名函数

1.4总结

第二部分 构造jQuery对象

第2章 构造jQuery对象

2.1构造函数jQuery()

2.1.1 jQuery(selector[,context])

2.1.2 jQuery(html[,ownerDocument])、jQuery(html,props)

2.1.3 jQuery(element)、jQuery(elementArray)

2.1.4 jQuery(object)

2.1.5 jQuery(callback)

2.1.6 jQuery(jQuery object)

2.1.7 jQuery()

2.2总体结构

2.3 jQuery.fn.init(selector,context,rootjQuery)

2.3.1 12个分支

2.3.2源码分析

2.3.3小结

2.4 jQuery.buildFragment(args,nodes,scripts)

2.4.1实现原理

2.4.2源码分析

2.4.3小结

2.5 jQueryclean(elems,context,fragment,scripts)

2.5.1实现原理

2.5.2源码分析

2.5.3小结

2.6 jQuery.extend()、jQuery.fn.extend()

2.6.1如何使用

2.6.2源码分析

2.7原型属性和方法

2.7.1 .selector、jquery、.length、.size()

2.7.2 .toArray()、.get([index])

2.7.3 .each(function(index,Element))、jQuery.each(collection,callback(indexInArray,valueOfElement))

2.7.4 .map(callback(index,domElement))、jQuery.map(arrayOrObject,callback(value,indexOrKey))

2.7.5 .pushStack(elements,name,arguments)

2.7.6 .end()

2.7.7 .eq(index)、.first()、.last()、.slice(start[,end])

2.7.8 .push(value,…)、.sort([orderfunc])、.splice(start,deleteCount,value,…)

2.7.9小结

2.8静态属性和方法

2.8.1 jQuery.noConflict([removeAll])

2.8.2类型检测:jQuery.isFunction(obj)、jQueryisArray(obj)、jQuery.isWindow(obj)、jQuery.isNumeric(value)、jQuery.type(obj)、jQuery.isPlainObject(object)、jQuery.isEmptyObject(object)

2.8.3解析JSON和XML:jQueryparseJSON(data)、jQueryparseXML(data)

2.8.4 jQuery.globalEval(code)

2.8.5 jQuery.camelCase(string)

2.8.6 jQuery.nodeName(elem,name)

2.8.7 jQuery.trim(str)

2.8.8数组操作方法:jQuery.makeArray(obj)、jQuery.inArray(value,array[,fromIndex])、jQuery.merge(first,second)、jQuery.grep(array,function(elementOfArray,indexInArray)[,invert])

2.8.9 jQuery.guid、jQuey.proxy(function,context)

2.8.10 jQuery.access(elems,key,value,exec,fn(elem,key,value),pass)

2.8.11 jQuery.error(message)、jQuery.noop()、jQuerynow()

2.8.12浏览器嗅探:jQuery.uaMatch(ua)、jQuery.browser

2.8.13小结

2.9总结

第三部分 底层支持模块

第3章 选择器Sizzle

3.1总体结构

3.2选择器表达式

3.3设计思路

3.4 Sizzle(selector,context,results,seed)

3.5正则chunker

3.6 Sizzle.find(expr,context,isXML)

3.7 Sizzle.filter(expr,set,inplace,not)

3.8 Sizzle.selectors.relative

3.8.1“+”

3.8.2“>”

3.8.3“”

3.8.4“~”

3.8.5 dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML)

3.8.6 dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML)

3.9 Sizzle.selectors

3.9.1 Sizzle.selectors.order

3.9.2 Sizzle.selectors.match/leftMatch

3.9.3 Sizzle.selectors.find

3.9.4 Sizzle.selectors.preFilter

3.9.5 Sizzle.selectors.filters

3.9.6 Sizzle.selectors.setFilters

3.9.7 Sizzle.selectors.filter

3.10工具方法

3.10.1 Sizzle.uniqueSort(results)

3.10.2 sortOrder(a,b)

3.10.3 Sizzle.contains(a,b)

3.10.4 Sizzle.error(msg)

3.10.5 Sizzle.getText(elem)

3.11便捷方法

3.11.1 Sizzle.matches(expr,set)

3.11.2 Sizzle.matchesSelector(node,expr)

3.12 jQuery扩展

3.12.1暴露Sizzle给jQuery

3.12.2 .find(selector)

3.12.3 .has(target)

3.12.4 .not(selector)、.filter(selector)

3.12.5 .is(selector)

3.12.6 .closest(selectors,context)

3.12.7 .index(elem)

3.12.8 .add(selector,context)

3.12.9 jQuery.filter(expr,elems,not)

3.12.10 :animated

3.12.11 hidden、:visible

3.13总结

第4章 异步队列Deferred Object

4.1 jQuery.Callbacks(flags)

4.1.1实现原理和总体结构

4.1.2源码分析

4.1.3小结

4.2 jQuery.Deferred(func)

4.2.1实现原理和总体结构

4.2.2源码分析

4.2.3小结

4.3 jQuery.when(deferreds)

4.3.1实现原理

4.3.2源码分析

4.4异步队列在jQuery中的应用

4.5总结

第5章 数据缓存Data

5.1实现原理

5.1.1为DOM元素附加数据

5.1.2为JavaScript对象附加数据

5.2总体结构

5.3 jQuery.acceptData(elem)

5.4 jQuery.data(elem,name,data,pvt)、jQuery._data(elem,name,data,pvt)

5.4.1如何使用

5.4.2源码分析

5.4.3 jQuery._data(elem,name,data)

5.4.4小结

5.5 .data(key,value)

5.5.1如何使用

5.5.2源码分析

5.5.3小结

5.6 jQuery.removeData(elem,name,pvt)、.removeData(key)

5.6.1如何使用

5.6.2源码分析

5.6.3小结

5.7 .removeData(key)

5.8 jQuery.cleanData(elems)

5.8.1应用场景

5.8.2源码分析

5.8.3小结

5.9 jQuery.hasData(elem)

5.10总结

第6章 队列Queue

6.1如何使用

6.1.1 Ajax队列

6.1.2动画队列+Ajax队列

6.1.3基于JavaScript对象

6.2实现原理

6.3总体结构

6.4 jQuery.queue(elem,type,data)

6.5 jQuerydequeue(elem,type)

6.6 .queue(type,data)

6.7 .dequeue(type)

6.8 .delay(time,type)

6.9 .clearQueue(type)

6.10 jQuery._mark(elem,type)、jQuery._unmark(force,elem,type)

6.11 .promise(type,object)

6.11.1如何使用

6.11.2实现原理

6.11.3源码分析

6.11.4 handleQueueMarkDefer(elem,type,src)

6.12总结

第7章 浏览器功能测试Support

7.1总体结构

7.2 DOM测试(15项)

7.2.1 leadingWhitespace

7.2.2 tbody

7.2.3 htmISerialize

7.2.4 hrefNormalized

7.2.5 checkOn

7.2.6 noCloneChecked

7.2.7 optSelected

7.2.8 optDisabled

7.2.9 getSetAttribute

7.2.10 deleteExpando

7.2.11 enctype

7.2.12 html5Clone

7.2.13 radioValue

7.2.14 checkClone

7.2.15appendChecked

7.3样式测试(3项)

7.3.1 style

7.3.2 opacity

7.3.3 cssFloat

7.4盒模型测试(10项)

7.4.1 reliableMarginRight

7.4.2 reliableHiddenOffsets

7.4.3 boxModel

7.4.4 inlineBlockNeedsLayout

7.4.5 shrinkWrapBlocks

7.4.6 doesNotAddBorder、doesAddBorderForTableAndCells

7.4.7 fixedPosition

7.4.8 subtractsBorderForOverflowNotVisible

7.4.9 doesNotIncludeMarginInBodyOffset

7.5事件测试(4项)

7.5.1 noCloneEvent

7.5.2 submitBubbles、changeBubbles、focusinBubbles

7.6 Ajax测试(2项)

7.6.1 ajax

7.6.2 cors

7.7总结

第四部分 功能模块

第8章 属性操作Attributes

8.1总体结构

8.2 jQuery.attr(elem,name,value,pass)

8.2.1源码分析

8.2.2 boolHook

8.2.3 nodeHook

8.2.4 jQuery.attrHooks

8.2.5小结

8.3 .attr(name,value)

8.4 jQuery.removeAttr(elem,value)

8.4.1源码分析

8.4.2小结

8.5 .removeAttr(name)

8.6 jQuery.prop(elem,name,value)

8.6.1源码分析

8.6.2 jQuery.propHooks

8.6.3小结

8.7 .prop(name,value)

8.8 .removeProp(name)

8.9 .addClass(className)

8.9.1源码分析

8.9.2小结

8.10 .removeClass([className])

8.10.1源码分析

8.10.2小结

8.11 .toggleClass([className][,switch])

8.11.1源码分析

8.11.2小结

8.12 .hasClass(selector)

8.12.1源码分析

8.12.2小结

8.13 .val([value])

8.13.1源码分析

8.13.2 jQuery.valHooks

8.13.3小结

8.14总结

第9章 事件系统Events

9.1总体结构

9.2实现原理

9.3 jQuery事件对象

9.3.1构造函数jQuery.Event(src,props)

9.3.2原型对象jQuery.Event.prototype

9.3.3事件属性修正方法jQuery.event.fix(event)

9.4绑定事件

9.4.1 .on(events[,selector][,data],handler(eventObject))

9.4.2 jQuery.event.add(elem,types,handler,data,selector)

9.5移除事件

9.5.1 .off(events[,selector][,handler(eventObject)])

9.5.2 jQuery.event.remove(elem,types,handler,selector,mappedTypes)

9.6事件响应

9.6.1主监听函数

9.6.2 jQuery.event.dispatch(event)

9.7手动触发事件

9.7.1 .trigger(eventType[,extraParameters])、.triggerHandler(eventType[,extraParameters])

9.7.2 jQuery.event.trigger(event,data,elem,onlyHandlers)

9.8事件修正和模拟jQuery.event.special

9.8.1 ready

9.8.2 load

9.8.3 focus、blur

9.8.4 beforeunload

9.8.5 mouseenter、mouseleave

9.8.6 submit

9.8.7 change

9.8.8 focusin、focusout

9.8.9 jQuery.event.simulate(type,elem,event,bubble)

9.9事件便捷方法

9.10组合方法

9.10.1 .toggle(handler(eventObject),handler(eventObject)[,handler(eventObject)])

9.10.2 .hover(handlerIn(eventObject)[,handlerOut(eventObject)])

9.11 ready事件

9.11.1总体结构

9.11.2 .ready(handler)

9.11.3 jQuery.bindReady()

9.11.4 jQuery.holdReady(hold)

9.11.5 jQuery.ready(wait)

9.12总结

第10章 DOM遍历Traversing

10.1总体结构

10.2遍历函数

10.3工具函数

10.3.1 jQuery.dir(elem,dir,until)

10.3.2 jQuery.nth(cur,result,dir,elem)

10.3.3 jQuery.sibling(n,elem)

10.4模板函数

10.5总结

第11章 DOM操作Manipulation

11.1总体结构

11.2插入元素

11.2.1核心方法.domManip(args,table,callback)

11.2.2 .append(content[,content])

11.2.3 .prepend(content[,content])

11.2.4 .before(content[,content])

11.2.5 .after(content[,content])

11.2.6 .appendTo(target)、.prependTo(target)、.insertBefore(target)、.insertAfter(target)

11.2.7 .html([value])

11.2.8 .text([text])

11.3删除元素

11.3.1 .remove(selector,keepData)

11.3.2 .empty()

11.3.3 .detach(selector)

11.4复制元素

11.4.1 .clone(dataAndEvents,deepDataAndEvents)

11.4.2 jQuery.clone(elem,dataAndEvents,deepDataAndEvents)

11.4.3 cloneFixAttributes(src,dest)

11.5替换元素

11.5.1 .replaceWith(value)

11.5.2 .replaceAll(target)

11.6包裹元素

11.6.1 .wrapAll(html)

11.6.2 .wrapInner(html)

11.6.3 .wrap(html)

11.6.4 .unwrap()

11.7总结

第12章 样式操作CSS

12.1内联样式、计算样式

12.1.1总体结构

12.1.2 .css(name,value)

12.1.3 jQuery.style(elem,name,value,extra)

12.1.4 jQuery.css(elem,name,extra)

12.1.5 curCSS(elem,name)、getComputedStyle(elem,name)、currentStyle(elem,name)

12.1.6 jQuery.cssHooks

12.2坐标Offset

12.2.1总体结构

12.2.2 .offset(options)

12.2.3 jQuery.offset.setOffset(elem,options,i)

12.2.4 jQuery.offset.bodyOffset(body)

12.2.5 .position()

12.2.6 .offsetParent()

12.2.7 .scrollLeft(val)、.scrollTop(val)

12.3尺寸Dimensions

12.3.1总体结构

12.3.2 getWH(elem,name,extra)

12.3.3 .innerHeight()、.innerWidth(

12.3.4 .outerHeight(margin)、.outerWidth(margin)

12.3.5 .height(size)、.width(size)

12.3.6小结

12.4总结

第13章 异步请求Ajax

13.1总体结构

13.2 jQuery.ajax(url,options)

13.3前置过滤器、请求发送器的初始化和执行

13.3.1初始化

13.3.2执行

13.4前置过滤器

13.4.1 json、jsonp

13.4.2 script

13.4.3小结

13.5请求发送器

13.5.1 script

13.5.2 XMLHttpRequest

13.5.3小结

13.6数据转换器

13.6.1初始化

13.6.2执行

13.6.3小结

13.7 Ajax事件

13.8便捷方法

13.8.1 jQuery.get(url,data,callback,type)、jQuery.post(url,data,callback,type)

13.8.2 jQuery.getJSON(url,data,callback)、jQuery.getScript(url,callback)

13.8.3 .load(url,params,callback)

13.9工具方法

13.9.1 .serialize()

13.9.2 jQuery.param(a,traditional)

13.9.3 .serializeArray()

13.10总结

第14章 动画Effects

14.1总体结构

14.2动画入口

14.2.1 .animate(prop,speed,easing,callback)

14.2.2 jQuery.speed(speed,easing,fn)

14.2.3 doAnimation()

14.2.4 jQuery.fx(elem,options,prop)

14.2.5 jQuery.fx.prototype.show()

14.2.6 jQuery.fx.prototype.hide()

14.2.7小结

14.3动画执行

14.3.1 jQuery.fx.prototype.custom(from,to,unit)

14.3.2 jQuery.fx.tick()

14.3.3 jQuery.fx.prototype.step(gotoEnd)

14.3.4 jQuery.easing

14.3.5 jQuery.fx.prototype.update()

14.3.6 jQuery.fx.step

14.4停止动画.stop(type,clearQueue,gotoEnd)

14.5便捷方法

14.5.1生成动画样式集genFx(type,num)

14.5.2显示隐藏.show/hide/toggle()

14.5.3渐显渐隐.fadeIn/fadeOut/fadeTo/fadeToggle()

14.5.4滑入滑出.slideDown/slidUp/slideToggle()

14.6总结


书查询(www.shuchaxun.com)本网页唯一编码:
edee9ebc7d9784c6f057405cdc788ab3#a239fd7d89c4760e6ff6937e909dfad5#146642868#JQUERY技术内幕:深入解析QUERY_13465612.pdf