摘要: $.each()函数是我们非常常见的一个API,他的用法大家都基本了解,如下: 可以获得遍历数组或者对象并作对应的处理,那么它是如何工作的呢?我们从源码入手来看一看: 代码分为两条路线:1.对象通过了likeArray()函数,证明它是个类数组,则执行第一条if中的语句。 2.对象没通过第一条函数, 阅读全文
posted @ 2017-02-20 20:59 coderzzp 阅读(213) 评论(0) 推荐(0) 编辑
摘要: zepto.init中在判断函数这块有一个方法叫做isFunction()。字面上来看显而易见是判断是否为函数,深入底层来看一下它是如何来实现的 首先看一下它在init()函数中是如何被调用的: 然后看看zepto中isFunction()的位置:在全局中定义的方法。 显然,type(value)函 阅读全文
posted @ 2017-02-20 16:20 coderzzp 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 查MSND,对SetCapture()函数的说明为:“该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。”一开 阅读全文
posted @ 2017-02-19 21:53 coderzzp 阅读(265) 评论(0) 推荐(0) 编辑
摘要: zepto.init()函数里有几个非常重要的函数,zepto.fragment()函数是其中之一。它主要是对生成元素的一个处理,并对生成的dom元素进行返回。例如:$("<p>")或者为他添加属性$("<p>",{height:200px}),就会生成一个新的P元素出来。源码如下: 函数最上定义了 阅读全文
posted @ 2017-02-18 18:15 coderzzp 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 前面第一节我们大致阐述了zepto的设计结构,看起来东西很多,但是化整为零就没那么繁杂了,一起来看一看,首先我们来看一看zepto源码中可以说是最关键的函数之一zepto.init()。 我们之前说到了$这个api会导致函数zepto返回$这个接口,$呢,是一个函数: 可以看到$函数会返回另一个名为 阅读全文
posted @ 2017-02-18 15:00 coderzzp 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 今天写一个实现动画缓冲的效果,源代码用到了一个小技巧,之前觉得并没有什么用,后来觉得还是很有必要的,贴上来记录一下。 代码如下: timer指向了一个周期函数是这段代码实现缓冲效果的关键,通过每30ms计算一次oimgtop,并将其与目标值的差除以10就是我们每次需要增加/减少的量,可见每次的增加/ 阅读全文
posted @ 2017-02-18 12:27 coderzzp 阅读(116) 评论(0) 推荐(0) 编辑
摘要: zepto源码解读(一) Zepto是一个轻量级的针对现代高级浏览器的JavaScript库,针对移动端开发, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 那么zepto这个库是怎么做的呢?一直都非常好奇,所以在上个礼拜开始就在开始慢慢的读zepto源码,也 阅读全文
posted @ 2017-02-17 22:40 coderzzp 阅读(370) 评论(0) 推荐(0) 编辑
摘要: jquery源码猜想(一) 本文是对jquery源码的一个小小的探索,适合刚入门有一点基础的朋友看一看提供思路。jquery本身高效率的API操作可以让工作事半功倍,他的特点是链式操作以及便利的选择器。那么本文就来用js来试探性的猜测一下这些操作是如何实现的: 思路1: 用过jq的人都知道它独特的$ 阅读全文
posted @ 2017-02-17 20:09 coderzzp 阅读(151) 评论(0) 推荐(0) 编辑