jquery的extend方法

Difference between jQuery.extend and jQuery.fn.extend?

一遇到extend或写插件的时候我总是翻几个这样的文章看,终于在stackoverflow上找到了一个很棒的答案。

Actually, there is none apart from their base reference. In the jQuery source, you can read:

jQuery.extend = jQuery.fn.extend = function() { … };


So how does it work? The documentation reads:

Merges the contents of two or more objects together into the first object.

It's just a for-in-loop that copies properties, pimped up with a flag to recurse nested objects. And another feature:

If only one argument is supplied to $.extend(), this means the target argument was omitted

// then the following will happen:
 target = this;

So if the function is called on jQuery itself (without explicit target), it will extend the jQuery namespace.
And if the function is called on jQuery.fn (without explicit target), it will extend the jQuery prototype object where all the (plugin) methods are located.
 
原文地址:https://www.cnblogs.com/alexandra/p/5433809.html