摘要: Github前端项目排名(2016 04 04) 一、前言 近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生。而大神们总能第一时间获取到最新资讯,在我们还在刀耕火种的年代就使用上各种高新技术,甚是膜拜。 为了赶上时代的脚步,加上昨天闲 阅读全文
posted @ 2016-04-04 23:41 oadaM92 阅读(3475) 评论(2) 推荐(0) 编辑
摘要: basket.js 源码分析 一、前言 basket.js 可以用来加载js脚本并且保存到 LocalStorage 上,使我们可以更加精准地控制缓存,即使是在 http 缓存过期之后也可以使用。因此可以使我们防止不必要的重新请求 js 脚本,提升网站加载速度。 可以到 basket.js 的 "G 阅读全文
posted @ 2016-04-03 01:46 oadaM92 阅读(2514) 评论(1) 推荐(2) 编辑
摘要: setTimout( , 0) 一、前言 前端工程师们工作久了,一般都会在某些地方看见过这样的代码: 举个实例,移动端我们经常会用的一个库叫做iScroll来模仿iOS系统里面的滚动反弹效果,而它的 "官方文档" 里面就有类似的代码建议: 上面其实也说到了setTimeout( , 0)的作用,就是 阅读全文
posted @ 2016-03-23 19:33 oadaM92 阅读(1595) 评论(7) 推荐(2) 编辑
摘要: Zepto事件模块源码分析 一、保存事件数据的handlers 我们知道js原生api中要移除事件,需要传入绑定时的回调函数。而Zepto则可以不传入回调函数,直接移除对应类型的所有事件。原因就在于Zepto在绑定事件时,会把相关的数据都保存到 对象中,因此就可以在这个变量中查找对应事件的回调函数, 阅读全文
posted @ 2016-03-21 19:02 oadaM92 阅读(908) 评论(1) 推荐(1) 编辑
摘要: 一、Zepto核心模块架构 Zepto核心模块架构图 该图展示了Zepto核心模块架构代码的组织方式。主要分为私有变量、函数和暴露给用户的所有api。 Zepto核心模块架构代码 该图展示了Zepto的核心模块架构代码,忽略了所有实现的细节。 Zepto核心模块架构说明 通过上面两张图,我们可以发现 阅读全文
posted @ 2016-03-20 23:05 oadaM92 阅读(822) 评论(0) 推荐(0) 编辑
摘要: 一、装饰者模式的作用为函数或者对象的方法添加一些行为。二、装饰者模式的原理装饰者模式不是直接修改对象,而是以要修改的对象为基础,新建一个对象。不过这个新建的对象看起来就像在原对象的基础上增添了一些行为而已。1、在对象中使用装饰者模式:就是把对象作为参数传入另一个构造函数中,然后这个构造函数里面就利用... 阅读全文
posted @ 2015-04-01 22:52 oadaM92 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 一:前言我们都知道,chrome的开发者工具(f12)是一个方便我们调试PC页面的工具。但是现在我们的开发离不开移动端,那如果我们需要对手机页面进行调试,那该怎么办了?当然,chrome的开发者工具还是强大的,我们可以再开发者工具中开启device mode来模拟手机调试。具体步骤为: 1. 点击这... 阅读全文
posted @ 2015-03-30 10:37 oadaM92 阅读(3345) 评论(0) 推荐(5) 编辑
摘要: 第十章:门面模式一:门面模式的作用简化已有的api,使其更加容易使用解决浏览器的兼容问题二:门面模式的本质门面模式的本质就是包装已有的api来简化操作三:门面模式的两个简单例子下面这个例子就是一个简单的门面模式,用来处理事件的兼容性问题:function addEvent(el, type, fn)... 阅读全文
posted @ 2015-03-29 20:02 oadaM92 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 之前一直都是按照书的结构顺序做总结,觉得好像不是很好,现在试着完全按照自己的理解做总结。例子还是书上的例子。一:组合模式的作用:在web开发中,主要用于创建嵌套的html结点,使得我们方便的把各种结点连接起来,并且提供简易的操作。二:组合模式的结构:结构就像我们的文件结构一样讲Composite理解... 阅读全文
posted @ 2015-03-28 20:20 oadaM92 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 个人理解:桥接模式就是更进一步地封装已有api,通过这个封装连接你的输入和底层api(初步理解,以后加深理解有不同体会之后可能要修改)一:示例:事件监听器下面这个示例就演示了通过一座桥(也就是一个API函数)来连接你的输入和原生的ajaxfunction getBeerById(id, callba... 阅读全文
posted @ 2015-03-26 12:34 oadaM92 阅读(185) 评论(0) 推荐(0) 编辑