jquery源码
front_end_fan
互联网公司缺的是技术过硬又精通业务的工程师,缺的是真正能解决实际业务问题的人,缺的是复合型的人才。
展开
-
jQuery源码学习笔记(02)
立即调用表达式 任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题。jQuery就是利用了JavaScript函数作用域的特性,采用立即调用表达式包裹了自身的方法来解决这个问题。jQuery的立即调用函数表达式的写法有三种:写法1:(function(window, factory) { fac原创 2017-08-25 16:23:54 · 204 阅读 · 0 评论 -
读《jQuery技术内幕》(01)
第一章 总体架构1、设计理念jQuery的理念就是“写更少的代码,做更多的事”,而且做到代码的高度兼容性。2、总体架构大致可以分为三个部分:构造模块,底层支持模块和功能模块。 3、使用自调用匿名函数 (function( window, undefined ) {...})(window) 这里先分析一下匿名函数:匿名函数的作用是创建一块封闭区域,外面不能够访问里面的变量和方法原创 2017-09-15 13:52:22 · 529 阅读 · 0 评论 -
读《jQuery技术内幕》(02)
在我的上一篇文章里面 阐述了jQuery的大致框架,知道了所有代码都是写在了一个自调用匿名函数里面,并且传入了window对象,源码是这样的:(function( window, undefined ) {...})( window ); 我们通过alert(jquery) 知道它是一个对象,那么这个对象是怎么构造出来的呢?我们使用$(document)类似的写法获取元素,就好像直接调用了普通的方原创 2017-09-15 13:59:19 · 366 阅读 · 0 评论 -
读《jQuery技术内幕》(03)
jQuery构造函数init参数分析(一) 在我的上一篇随笔里面分析了jQuery的构造函数,jQuery对象中有一个原型方法init才是是真正的构造函数,通过init的原型对象跟jQuery的原型对象保持引用关系使得init的实例可以正常调用jQuery的原型方法,就好像是jQuery的实例一样。下面就来看看原创 2017-09-15 14:38:19 · 275 阅读 · 0 评论 -
jQuery源码学习笔记(01)
jQuery整体架构 任何程序代码不是一开始就复杂的,成功也不是一躇而蹴的,早期jQuery的作者John Resig在2005年提议改进Prototype的“Behaviour”库时,只是想让其使用更简单才发布新的jQuery框架。起初John Resig估计也没料想jQuery会如此的火热。我们可以看到从发布原创 2017-08-25 16:27:27 · 229 阅读 · 0 评论 -
jQuery源码学习笔记(10)
jQuery的each迭代器 jQuery的each方法从使用上就要分2种情况:☑ $.each()函数☑ $(selector).each().each()函数和.each()函数和(selector).each()是不一样的,后者是专门用来遍历一个jQuery对象的,是为jQuery内部服务的。$.e原创 2017-08-25 17:21:20 · 265 阅读 · 0 评论 -
jQuery源码学习笔记(09)
回溯处理的设计 在这一小节我将会带领你们了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能。关于jQuery对象的包装var $aaron = $("aaron");通过对sizzle的分析,我们可以得知Query选择器最原创 2017-08-25 16:49:04 · 391 阅读 · 0 评论 -
jQuery源码学习笔记(08)
插件接口的设计 如果jQuery没有插件接口的设计,那么他就像个光杆司令没有兵,就是没有手下,只有自己一个封闭的城堡。因此jQuery城堡需要设计一个大门 - 插件接口,从而打开大门开始招兵买马。当然jQuery除了获得“开发者社区”的大力支持外,也有很多大公司纷纷对它投出了橄榄枝,这也是它成功的原创 2017-08-25 16:47:32 · 257 阅读 · 0 评论 -
jQuery源码学习笔记(07)
方法链式调用的实现 jQuery的核心理念是Write less,Do more(写的更少,做的更多),那么链式方法的设计与这个核心理念不谋而合。那么从深层次考虑这种设计其实就是一种Internal DSL。DSL是指Domain Specific Language,也就是用于描述和解决特定领域问题的原创 2017-08-25 16:42:46 · 203 阅读 · 0 评论 -
jQuery源码学习笔记(06)
静态与实例方法共享设计 保留上一节分割出2个构造器的疑问,我们先看看jQuery在接口的设计:遍历方法:$(".aaron").each() //作为实例方法存在$.each() //作为静态方法存在这是最常见的遍历方法,第一条语句是给有指定的上下文调用的,就是(“.aaron”)获原创 2017-08-25 16:39:54 · 242 阅读 · 0 评论 -
jQuery源码学习笔记(05)
jQuery多库共存处理 多库共存换句话说可以叫无冲突处理。总的来说会有2种情况会遇到: 1、太火热,jQuery采用太火热,jQuery采用作为命名空间,不免会与别的库框架或者插件相冲突。 2、jQuery版本更新太快,插件跟不上,导致不同版本对插件的支持度不一样。出于以上的原因,jQuery给出了解决原创 2017-08-25 16:35:34 · 234 阅读 · 0 评论 -
jQuery源码学习笔记(04)
jQuery中ready与load事件 jQuery有3种针对文档加载的方法$(document).ready(function() { // ...代码...})//document ready 简写$(function() { // ...代码...})$(document).loa原创 2017-08-25 16:33:44 · 223 阅读 · 0 评论 -
jQuery源码学习笔记(03)
jQuery的类数组对象结构 为什么是类数组对象呢?很多人迷惑的jQuery为什么能像数组一样操作,通过对象get方法或者直接通过下标0索引就能转成DOM对象。首先我们看jQuery的入口都是统一的$, 通过传递参数的不同,实现了9种方法的重载:1. jQuery([selector,[context]])2.原创 2017-08-25 16:30:17 · 224 阅读 · 0 评论 -
《jQuery技术内幕》
2017年8月初,我买了本书《jQuery技术内幕 :深入解析jQuery架构设计与实现原理》高云 著。 作者不愧是阿里的资深前端,即使我结合网上各种解读,也只勉强看懂前3章。因为第四章开始讲的选择器sizzle的时候,我的内心真的很崩溃。以下为引用某大神的原话:“今年2月20日买的书,今天是5月26,三个月来,除了周末休息一天,如果没有特殊情况,我都会每晚花两个小时看这本书,以及查各种与jque原创 2017-09-15 16:39:46 · 653 阅读 · 0 评论