10 2016 档案
摘要:一、jQuery数据缓存基本原理 jQuery数据缓存就两个全局Data对象,data_user以及data_priv; 这两个对象分别用于缓存用户自定义数据和内部数据; 以data_user为例,所有用户自定义数据都被保存在这个对象的cache属性下,cache在此姑且称之为自定义数据缓存; 自定
阅读全文
摘要:感觉类似于ES6中的 promise.all jQuery.when提供了基于一个或多个对象的状态来执行回调函数的功能,通常是基于具有异步事件的异步队列。 如果传入多个异步队列,jQuery.when会返回一个新的主异步队列的只读副本(promise),这个副本将跟踪所传递的异步队列的最终状态。 当
阅读全文
摘要:后续ES6的promise就源于此,这部分很重要! jQuery.Defered——异步队列用于管理一组回调函数(成功resolve,失败reject,消息progress),基于上一节实现的jQuery.callbacks完成。 done,fail,progress分别表示添加成功,失败,消息回调
阅读全文
摘要:jQuery的callbacks模块事实上是发布-订阅模式的一种实现,但可以通过以下参数对回调函数列表实现更多控制。包括: once: 回调函数队列只能被执行一次(实现原理是判断回调函数队列是否被执行过,如果执行过,则不再执行) unique: 回调函数不能重复添加到队列(实现原理是add的时候,判
阅读全文
摘要:jQuery实例方法及属性相关的代码结构如下 下面将逐一对上述方法进行讲解; 一、相关属性 jQuery,selector,length,还有一个prevObject属性在pushStack中指定,context属性在init中指定 二、构造函数jQuery.fn.init,详见jQuery源代码解
阅读全文
摘要:重点掌握以下这些方法(可以手写代码): 1.深复制与浅复制 jQuery.extend 2.类型判断相关方法 jQuery.type,jQuery.isFunction,jQuery.isArray,jQuery.isWindow,jQuery.isNumberic,jQuery.isPlainOb
阅读全文
摘要:一、jQuery总体架构 jQuery作为一款强大的js库,由以下模块构成: 关于上述代码,解释如下: 1.jQuery的整体代码包裹在一个立即执行的自调用匿名的函数中,这样可以尽量减少和其他第三方库的干扰; 2,在上述代码最后,将jQuery对象添加到全局window上,并为之设置变量$,从而使得
阅读全文