随笔分类 -  JavaScript框架设计

摘要:样式模块分为两大块,精确获取样式值与设置样式,精确是用于修饰符获取的。由于样式分布为外部样式,内部样式与行内样式,再加个impotant对选择器的权重的干扰,我们实际很难看到元素是应用了那块的样式。因此,样式模块,80%的比重在于获取这一块,像offset,滚动条也纳入这一块。 大体上,我们在标准浏 阅读全文
posted @ 2017-09-05 16:05 wingzw 阅读(254) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-09-05 16:03 wingzw 阅读(116) 评论(0) 推荐(0)
摘要:15.1 jQuery的插件的一般写法 阅读全文
posted @ 2017-08-15 15:07 wingzw 阅读(204) 评论(0) 推荐(0)
摘要:1 阅读全文
posted @ 2017-08-15 15:07 wingzw 阅读(101) 评论(0) 推荐(0)
摘要:13.1 Ajax概览 这是一个完整的Ajax程序,包括跨平台取得XMLHTTPRequest对象,绑定事件回调,判定处理状态,发出请求,设置首部,以及在POST请求时,通过send方法发送数据。上面七个步骤每一步都有兼容性问题或易用性处理。如果是跨域请求,IE8可能为XDomainRequest更 阅读全文
posted @ 2017-08-15 15:05 wingzw 阅读(254) 评论(0) 推荐(0)
摘要:浏览器与后端的nodejs存在这各种消耗巨大或堵塞线程的行为。 对于javascript这样单线程的东西唯一解耦的方法就是提供异步的api。异步的API是怎么的呢,简单来说,就是不会立即执行的方法。 比方来说,一个长度为1000的数组,在for循环内,可能不到几毫秒就执行完毕,若在后端的其它语言,则 阅读全文
posted @ 2017-08-14 21:29 wingzw 阅读(192) 评论(0) 推荐(0)
摘要:事件系统是一个框架非常重要的部分,用于响应用户的各种行为。浏览器提供了3个层次的api,用于响应用户的各种行为。 1.最原始的是写在元素标签内。2.再次是脚本内,以el.onXXX = function绑定的方式,统称为DOM0事件系统。3.最后是多投事件系统,一个元素的同一类型事件可以绑定多个回调 阅读全文
posted @ 2017-08-14 21:23 wingzw 阅读(424) 评论(0) 推荐(0)
摘要:动画是我们眼睛中的残影,叫视觉暂留现象。这里有两个关键字,差异与快速。 在网页中,扩展样式的任务早已经交由css处理,让javascript第一次拥有视觉处理的api,setTimeout与setInterval早在css诞生前就已经出现。 一:动画的原理 在标准浏览器中,可计算的样式基本浏览器已经 阅读全文
posted @ 2017-08-14 21:19 wingzw 阅读(713) 评论(0) 推荐(0)
摘要:通常我们把对象的非函数成员叫属性。 对于元素节点来说,其属性大体分为两类,固有属性与自定义属性(特性)。固有属性一般遵循驼峰命名风格,拥有默认值,并且无法删除。 自定义属性是用户随意添加的属性值对,由于元素节点也是一个普通的javascript对象,没有什么严格的访问操作,因此命名风格林林总总,值的 阅读全文
posted @ 2017-08-14 21:17 wingzw 阅读(233) 评论(0) 推荐(0)
摘要:DOM节点操作占我们前端工作很大一部分,其节点的操作又占50%以上。由于选择器引擎的出现,让繁琐的元素选择简单化,并且一下子返回一大堆元素,这个情景时刻暗示着我们操作元素就像css为元素添加样式那样,一操作就操作一组元素。 一些大胆的API设计被提出来。当然我们认为时髦新颖的设计其实都是很久以前被忽 阅读全文
posted @ 2017-08-14 21:15 wingzw 阅读(379) 评论(0) 推荐(0)
摘要:jQuery凭借选择器风靡全球,各大框架类库都争先开发自己的选择,一时间内选择器变为框架的标配 早期的JQuery选择器和我们现在看到的远不一样。最初它使用混杂的xpath语法的selector。第二代转换为纯css的自定义伪类,(比如从xpath借鉴过来的位置伪类)的sizzle,但sizzle也 阅读全文
posted @ 2017-08-14 21:14 wingzw 阅读(356) 评论(0) 推荐(0)
摘要:类与继承在javascript的出现,说明javascript已经达到大规模开发的门槛了,在之前是ECMAScript4,就试图引入类,模块等东西,但由于过分引入太多的特性,搞得javascript乌烟瘴气,导致被否决。不过只是把类延时到ES6.到目前为止,javascript还没有正真意义上的类。 阅读全文
posted @ 2017-08-14 21:12 wingzw 阅读(189) 评论(0) 推荐(0)
摘要:浏览器的嗅探现在已经不推荐了,但在某些场合还是需要的。比如一些统计脚本。在标准浏览器里,提供了document.implementation.hasfeature,可惜有bug,不准确,目前,w3c又推出了CSS.supports方法,显示出大家对这块的关注。 1.判定浏览器。 主流的浏览器有ie 阅读全文
posted @ 2017-08-14 21:11 wingzw 阅读(747) 评论(0) 推荐(0)
摘要:1.字符串的扩展与修复 语言脚本都对字符串特别关注,有关的方法特别多,这些方法有三大类: 第一类:与标签无关的实现:charAt,charCodeAt,concat,lastIndexOf,localeCompare,match,replace,slice,split,substr,substrin 阅读全文
posted @ 2017-08-11 14:17 wingzw 阅读(305) 评论(0) 推荐(0)
摘要:任何一门语言在大规模应用阶段,必然要经历拆分模块的过程。便于维护与团队协作,与java走的最近的dojo率先引入加载器,早期的加载器都是同步的,使用document.write与同步Ajax请求实现。后来dojo开始以JSONP的方法设计它的每个模块结构。以script节点为主体加载它的模块。这个就 阅读全文
posted @ 2017-08-11 13:16 wingzw 阅读(213) 评论(0) 推荐(0)
摘要:1. 种子模块 种子模块也叫核心模块,是框架的最先执行的部分。 粽子模块包含功能:对象扩展,数组化,类型判定,简单的事件绑定与卸载,无冲突处理,模块加载与domReady。本章讲解以mass Framework的种子模块为范本。 1.1 命名空间 种子模块作为一个框架的最开始部分,除了负责辅建全局的 阅读全文
posted @ 2017-08-10 18:02 wingzw 阅读(314) 评论(0) 推荐(0)