Fork me on GitHub
随笔 - 265  文章 - 0  评论 - 1075  阅读 - 230万
10 2013 档案
Jser 设计模式系列之面向对象 - 接口封装与继承
摘要:GOF在《设计模式》中说到:面向接口编程,而非面向实现编程鉴于此,这个概念可见一斑!JS却不像其他面向对象的高级语言(C#,Java,C++等)拥有内建的接口机制,以确定一组对象和另一组对象包含相似的的特性。所幸的是JS拥有强大的灵活性,这使得模仿接口特性又变得非常简单。那么到底是接口呢?接口概念:接口提供了一种用以说明一个对象应该具有那些方法的手段接口,为一些具有相似行为的类之间(可能为同一种类型,也可能为不同类型)提供统一的方法定义,使这些类之间能够很好的实现通信使用接口的优点:自我描述性,促进代码的重用明确一个类实现的方法,帮助其使用这个类稳定不同类之间的通信一个需求,需要多个部门协调合 阅读全文
posted @ 2013-10-27 15:57 【艾伦】 阅读(2801) 评论(8) 推荐(9) 编辑
前端MVVM框架设计及实现
摘要:最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了借鉴的自然还是从正美的Avalon开始了,我2013年写过一个关于MVCMVVM源码分析系列,其实MVVM并不难为了便于大家更深刻理解前二版会先简单的模仿avalon的实现最基本的... 阅读全文
posted @ 2013-10-26 21:58 【艾伦】 阅读(7095) 评论(7) 推荐(14) 编辑
jQuery 2.0.3 源码分析 回溯魔法 end()和pushStack()
摘要:了解了jQuery对DOM进行遍历背后的工作机制,可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能从这章开始慢慢插入jQuery内部一系列工具方法的实现关于jQuery对象的包装var aaron=("aaron");通过对sizzle的分析呢,jQuery选择器,反正最终都是通过dom接口实现取值的, 但是通过jQuery处理后返回的不仅仅只有dom对象,而是一个包装容器返回的jQuery对象:$aaronjQuery对象,其中有个prevObject这个是干嘛用的呢?jQuery对象栈jQuery内部维护着一个jQuery对象栈。每个遍历方法 阅读全文
posted @ 2013-10-25 11:59 【艾伦】 阅读(6390) 评论(4) 推荐(12) 编辑
jQuery 2.0.3 源码分析 数据缓存
摘要:历史背景:jQuery从1.2.3版本引入数据缓存系统,主要的原因就是早期的事件系统 Dean Edwards 的 ddEvent.js代码带来的问题:没有一个系统的缓存机制,它把事件的回调都放到EventTarget之上,这会引发循环引用如果EventTarget是window对象,又会引发全局污染不同模块之间用不同缓存变量一般jQuery开发,我们都喜欢便捷式的把很多属性,比如状态标志都写到dom节点中,也就是HTMLElement好处:直观,便捷坏处:循环引用直接暴露数据,安全性?增加一堆的自定义属性标签,对浏览器来说是没意义的取数据的时候要对HTML节点做操作什么是内存泄露内存泄露是指 阅读全文
posted @ 2013-10-22 08:42 【艾伦】 阅读(8880) 评论(8) 推荐(34) 编辑
jQuery 2.0.3 源码分析 Deferred(最细的实现剖析,带图)
摘要:Deferred的概念请看第一篇http://www.cnblogs.com/aaronjs/p/3348569.html******************构建Deferred对象时候的流程图************************************************源码解析**********************因为callback被剥离出去后,整个deferred就显得非常的精简jQuery.extend({ Deferred : function(){} when : function())}对于extend的继承这个东东,在之前就提及过j... 阅读全文
posted @ 2013-10-09 08:20 【艾伦】 阅读(13271) 评论(21) 推荐(97) 编辑
jQuery 2.0.3 源码分析 Deferred概念
摘要:JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而回调函数中则包含了后续的工作。这也是造成异步编程困难的主要原因:我们一直习惯于“线性”地编写代码逻辑,但是大量异步操作所带来的回调函数,会把我们的算法分解地支离破碎。此时我们不能用if来实现逻辑分支,也不能用while/for/do来实现循环,更不用提异步操作之间的组合、错误处理以及取消操作了。因此也诞生了如jQuery Deferred这样的辅助类库举一个例子会有助于理解我做的是phonegap项目,所以涉及到的异步处理就别特多:1. 常见的setTimeout2. 与底层代码通信,调用. 阅读全文
posted @ 2013-10-02 18:00 【艾伦】 阅读(11708) 评论(5) 推荐(23) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示