随笔分类 -  jQuery源码学习

jQuery源码学习14——源码阅读总结
摘要:先总结一下之前看jQuery源码的感受: 由于没有看源码的经验,所以通常就是直接去看源码,然后感觉有些地方不知道为什么写成那样,现总结原因如下: 1、由于自己工作经验积累的不够,看到某些细节的处理时不知道为什么那么做,例如判断一个变量是否为String类型,我发现jQuery源码内部进行了多次改造: 阅读全文
posted @ 2017-02-23 21:32 特拉法尔加 阅读(943) 评论(0) 推荐(0)
jQuery源码学习13——Ajax
摘要:Ajax部分的核心是ajax静态方法jQuery初始化的时候提供了ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess一系列实例化方法在ajax内部会依次触发这些方法if ( ! jQuery.active++ ) jQuery.event.t... 阅读全文
posted @ 2015-12-03 14:22 特拉法尔加 阅读(207) 评论(0) 推荐(0)
jQuery源码学习12——动画加强
摘要:实例化方法queue和原生方法dequeue实现了队列的管理当实现很复杂的动画时,队列管理显得很重要举例来说$("#div1").animate({ "width":400, "height":300},300).animate({ "left":600},300);这个动画希望先... 阅读全文
posted @ 2015-12-02 18:24 特拉法尔加 阅读(170) 评论(0) 推荐(0)
jQuery源码学习11——动画
摘要:jQuery.setAuto这个方法实在看不出来到底有啥用,而且到后面的版本就把这个方法去掉了直接看speed方法jQuery.extend({ speed: function(s,o) { o = o || {}; if ( o.construct... 阅读全文
posted @ 2015-11-30 15:53 特拉法尔加 阅读(192) 评论(0) 推荐(0)
jQuery源码学习10——和事件相关的方法
摘要:jQuery的事件系统给每个通过jQuery.event.add()方式绑定事件的DOM对象生成了下面这种结构从这张图中可以看出,我们除了可以给元素添加像click mouseover mouseout这样的原生事件之外还可以添加selfEvent这样的自定义事件自定义事件需要手动通过trigger... 阅读全文
posted @ 2015-11-27 09:45 特拉法尔加 阅读(206) 评论(0) 推荐(0)
jQuery源码学习9——DOMReady加载
摘要:先将和ready相关的代码都归纳出来 function jQuery(a,c) { if ( a && a.constructor == Function && jQuery.fn.ready ){ return jQuery(document).ready... 阅读全文
posted @ 2015-11-25 11:25 特拉法尔加 阅读(218) 评论(0) 推荐(0)
jQuery源码学习8——工具方法之init
摘要:接下来再回到init工具方法总体看来init里面都是通过jQuery.each方法来遍历macros里面的各项再将其扩展到jQuery.prototype下面作为实例方法(1)、axisjQuery.each( jQuery.macros.axis, function(i,n){ jQuery... 阅读全文
posted @ 2015-11-24 14:41 特拉法尔加 阅读(198) 评论(0) 推荐(0)
jQuery源码学习7——实例成员
摘要:选择器部分的代码实在很复杂,过后再看jQuery.init用到了一些实例方法,因此先看一下实例方法再回过头看init源码中jQuery构造函数定义完之后添加的实例成员有:jquery size get each index attr css text wrap append prepend befo... 阅读全文
posted @ 2015-11-24 11:43 特拉法尔加 阅读(216) 评论(0) 推荐(0)
jQuery源码学习6——工具方法之事件系统
摘要:事件系统结构如下event:{ add:function(){},//添加一个事件 guid:1,//给事件触发函数绑定一个唯一的guid global:{},//global下每一项的键是一种事件类型,值是这种事件类型对应的方法 remove... 阅读全文
posted @ 2015-11-17 10:24 特拉法尔加 阅读(176) 评论(0) 推荐(0)
jQuery源码学习5——工具方法之attr parents sibling clean
摘要:(1)、attr attr: function(elem, name, value){ var fix = { "for": "htmlFor", "class": "className", "float": "c... 阅读全文
posted @ 2015-11-16 10:52 特拉法尔加 阅读(276) 评论(0) 推荐(0)
jQuery源码学习4——工具方法篇之CSS样式处理方法
摘要:CSS样式处理方法总共有三个:swap CSS curCSS(1)、swap swap: function(e,o,f) { for ( var i in o ) { e.style["old"+i] = e.style[i]; e.s... 阅读全文
posted @ 2015-11-13 10:48 特拉法尔加 阅读(219) 评论(0) 推荐(0)
jQuery源码学习3——工具方法篇
摘要:基本工具方法结构如下:jQuery.extend({ init:function(){}, each:function(){}, className:{ add:function(){}, remove:function(){}, has:... 阅读全文
posted @ 2015-11-12 15:57 特拉法尔加 阅读(246) 评论(0) 推荐(0)
jQuery源码学习2——初始化篇
摘要:这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefined=window.undefined;是为了兼容低版本的IE而写的因为在低版本的IE中undefined不是window对象下的属性因此window.undefined就是undefined根据=... 阅读全文
posted @ 2015-11-10 19:11 特拉法尔加 阅读(327) 评论(0) 推荐(0)
jQuery源码学习1——整体架构篇
摘要:由于jQuery的源码比较复杂,所以我选择从jQuery1.0.0版本开始学习,逐步深入。而且本系列文章包含大量的个人观点,纯属本人学习的记录jQuery1.0.0只有1800行左右的代码,相对来讲看起来还是比较简单的首先,想说一下我对jQuery的理解jQuery其实就是一个很大的构造函数它为我们... 阅读全文
posted @ 2015-11-09 18:17 特拉法尔加 阅读(269) 评论(0) 推荐(0)