好的,我想我理解了 jQuery.extend 和 jQuery.fn.extend 的区别.
普通的 extend 可以扩展任何对象,而 fn.extend 则是用于插件函数,这些函数可以直接从 jQuery 对象调用,并带有一些内部 jQuery 魔法。
因此,它们似乎需要不同的调用方式。如果您使用普通的 extend 将函数 y 添加到对象 obj 中,则该方法会附加到该对象,即 obj.y(),但是如果您使用 fn.extend,则它们将直接附加到 jQuery 对象 $.y()... 我理解得对吗?如果不是,那么我的理解哪里出了问题?
现在轮到我的问题了:
我正在阅读的书推荐使用
jQuery.fn.extend({
a: function() { },
b: function() { }
});
语法,但文档中说
jQuery.fn.a = function() { };
我猜如果你也想要 b 的话,它应该是:
jQuery.fn.b = function() { };
这两个函数在功能和性能上是否等效,如果不是,它们有什么区别?
非常感谢。我正在深入研究jQuery!