文章目录

首先来看一下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;

jQuery.fn = jQuery.prototype,

‘jQuery —> new jQuery.fn.init —> jQuery.fn.init.prototype.fn’

文章目录