文章目录
  1. 1. jquery 源码学习

jquery 源码学习

学习和使用jquery已经很长时间了,源码也读了很长一段时间了,但是感觉对jquery源码的理解还是非常浅,所以决定在深入细读一下jquery源码,并写点东西,方便以后温故知新!

源码学习的是jquery 2.0.3版本。

首先来看一下jquery是什么?即学习一下$

1
2
3
4
5
6
// Define a local copy of jQuery
// 定义一个jQuery副本
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
}

jQuery是一个function,返回值new jQuery.fn.init( selector, context, rootjQuery )
那么jQuery.fn.init又是什么呢?

1
2
3
4
5
6
jQuery.fn = jQuery.prototype = {
...
constructor: jQuery,
init: function( selector, context, rootjQuery ) {},
...
}

jQuery.fn.init是一个function,调用时使用new,是一个构造函数;jQueryjQuery.fn.initprototype指向jQuery.fn

1
2
// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;
文章目录
  1. 1. jquery 源码学习