第十三章 动画引擎
摘要:动画是我们眼睛中的残影,叫视觉暂留现象。这里有两个关键字,差异与快速。在网页中,扩展样式的任务早已经交由css处理,让javascript第一次拥有视觉处理的api,setTimeout与setInterval早在css诞生前就已经出现。一:动画的原理在标准浏览器中,可计算的样式基本浏览器已经为你转...
阅读全文
posted @
2015-08-23 21:15
村长很忙
阅读(1202)
推荐(1) 编辑
第十二章:异步处理
摘要:浏览器与后端的nodejs存在这各种消耗巨大或堵塞线程的行为。对于javascript这样单线程的东西唯一解耦的方法就是提供异步的api。异步的API是怎么的呢,简单来说,就是不会立即执行的方法。比方来说,一个长度为1000的数组,在for循环内,可能不到几毫秒就执行完毕,若在后端的其它语言,则耗时...
阅读全文
posted @
2015-08-22 22:44
村长很忙
阅读(1112)
推荐(1) 编辑
第十一章:事件系统
摘要:事件系统是一个框架非常重要的部分,用于响应用户的各种行为。浏览器提供了3个层次的api,用于响应用户的各种行为。1.最原始的是写在元素标签内。2.再次是脚本内,以el.onXXX = function绑定的方式,统称为DOM0事件系统。3.最后是多投事件系统,一个元素的同一类型事件可以绑定多个回调,...
阅读全文
posted @
2015-08-03 00:41
村长很忙
阅读(1686)
推荐(2) 编辑
第十章:属性模块
摘要:通常我们把对象的非函数成员叫属性。对于元素节点来说,其属性大体分为两类,固有属性与自定义属性(特性)。固有属性一般遵循驼峰命名风格,拥有默认值,并且无法删除。自定义属性是用户随意添加的属性值对,由于元素节点也是一个普通的javascript对象,没有什么严格的访问操作,因此命名风格林林总总,值的类型...
阅读全文
posted @
2015-07-25 09:22
村长很忙
阅读(536)
推荐(0) 编辑
第九章:样式模块
摘要:样式模块分为两大块,精确获取样式值与设置样式,精确是用于修饰符获取的。由于样式分布为外部样式,内部样式与行内样式,再加个impotant对选择器的权重的干扰,我们实际很难看到元素是应用了那块的样式。因此,样式模块,80%的比重在于获取这一块,像offset,滚动条也纳入这一块。大体上,我们在标准浏览...
阅读全文
posted @
2015-07-16 23:46
村长很忙
阅读(986)
推荐(3) 编辑
第八章:节点模块
摘要:DOM节点操作占我们前端工作很大一部分,其节点的操作又占50%以上。由于选择器引擎的出现,让繁琐的元素选择简单化,并且一下子返回一大堆元素,这个情景时刻暗示着我们操作元素就像css为元素添加样式那样,一操作就操作一组元素。一些大胆的API设计被提出来。当然我们认为时髦新颖的设计其实都是很久以前被忽略...
阅读全文
posted @
2015-07-08 00:45
村长很忙
阅读(1434)
推荐(1) 编辑
第七章:选择器引擎
摘要:jQuery凭借选择器风靡全球,各大框架类库都争先开发自己的选择,一时间内选择器变为框架的标配早期的JQuery选择器和我们现在看到的远不一样。最初它使用混杂的xpath语法的selector。第二代转换为纯css的自定义伪类,(比如从xpath借鉴过来的位置伪类)的sizzle,但sizzle也一...
阅读全文
posted @
2015-07-01 01:23
村长很忙
阅读(1695)
推荐(6) 编辑
第六章:类工厂
摘要:类与继承在javascript的出现,说明javascript已经达到大规模开发的门槛了,在之前是ECMAScript4,就试图引入类,模块等东西,但由于过分引入太多的特性,搞得javascript乌烟瘴气,导致被否决。不过只是把类延时到ES6.到目前为止,javascript还没有正真意义上的类。...
阅读全文
posted @
2015-06-22 01:08
村长很忙
阅读(1321)
推荐(1) 编辑
第五章:浏览器的嗅探和特征侦测
摘要:浏览器的嗅探现在已经不推荐了,但在某些场合还是需要的。比如一些统计脚本。在标准浏览器里,提供了document.implementation.hasfeature,可惜有bug,不准确,目前,w3c又推出了CSS.supports方法,显示出大家对这块的关注。1.判定浏览器。主流的浏览器有ie fi...
阅读全文
posted @
2015-06-19 02:00
村长很忙
阅读(1356)
推荐(3) 编辑
第四章:语言模块
摘要:1.字符串的扩展与修复语言脚本都对字符串特别关注,有关的方法特别多,这些方法有三大类:第一类:与标签无关的实现:charAt,charCodeAt,concat,lastIndexOf,localeCompare,match,replace,slice,split,substr,substring,...
阅读全文
posted @
2015-06-08 00:23
村长很忙
阅读(1037)
推荐(1) 编辑
第三章:模块加载系统(requirejs)
摘要:任何一门语言在大规模应用阶段,必然要经历拆分模块的过程。便于维护与团队协作,与java走的最近的dojo率先引入加载器,早期的加载器都是同步的,使用document.write与同步Ajax请求实现。后来dojo开始以JSONP的方法设计它的每个模块结构。以script节点为主体加载它的模块。这个就...
阅读全文
posted @
2015-05-31 06:08
村长很忙
阅读(4060)
推荐(2) 编辑
第二章 : 种子模块
摘要:种子模块也叫核心模块,是框架中最先执行的部分。即便像jQuery那样的单文件函数库,它的内部也分很多模块,必然有一些模块执行时在最前面立即执行,有一些模块只有用到才执行。有的模块可有可无,存在感比较弱,只有在特定的浏览器下才运行。种子模块就是其中的先锋,它里边的方法不一定要求个个功能齐全,设计优良,...
阅读全文
posted @
2015-05-27 23:40
村长很忙
阅读(1396)
推荐(1) 编辑
第一章 : javaScript框架分类及主要功能
摘要:从内部架构和理念划分,目前JavaScript框架可以划分为5类。第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的java风格,因此,我们以某一对象为跟,不断为它添加对象和二级对象属性来组织代码,如金字塔般垒起来,早期代表...
阅读全文
posted @
2015-05-27 00:55
村长很忙
阅读(1800)
推荐(3) 编辑