$.extend和$.fn.extend

$.prototype
// 看见这个方法我很好奇jquery的源码是什么定义的
// 首先看一个jquery的对象
(function() {

})(window)
// 也就是说这是一个匿名函数并且立即执行它
(function() {
// 创建一个jQuery对象
var jQuery = function (selector, context) {
return new jQuery.fn.init(selector , context, rootjQuery)
}
// jQuery对象原型
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function (selector, context, rootjQuery) {
}
}

jQuery.fn.init.prototype = jQuery.fn;
//赋值之前如果init里面没有方法可能需要调用外部的函数
//通过这个方法可以调用init之外的方法

jQuery.extend = jQuery.fn.extend = function () {};
//构造完成
return jQuery;

window.jQuery = window.$ = jQuery;
})(window)

//显然,jQuery.extends()是直接扩展jQuery.而jQuery.fn.extends(),很明显是扩展的原型。
//jQuery.fn.extends()中大部分方法啊来自于jQuery.extends()

posted @ 2016-04-19 16:15  tiva  阅读(154)  评论(0编辑  收藏  举报