简述jQuery.extend 与 jQuery.fn.extend的区别?
参考答案:
jQuery.extend
和 jQuery.fn.extend
都是 jQuery 中用于扩展对象的方法,但它们之间有一些重要的区别。
jQuery.extend
:
这个方法用于扩展 jQuery 对象本身,也就是全局范围内的扩展。你可以用它来添加新的全局函数或者属性到 jQuery 对象上。这些函数或属性可以直接通过 jQuery
(或简写为 $
)来访问。
例如:
jQuery.extend({
hello: function() {
alert('Hello, world!');
}
});
// 然后你可以这样调用这个函数:
jQuery.hello(); // 或者简写为 $.hello();
jQuery.fn.extend
:
这个方法用于扩展 jQuery 的原型对象,也就是所有 jQuery 对象实例的共享方法。你可以用它来添加新的方法到所有的 jQuery 对象上。这样,你就可以在任何 jQuery 对象上调用这个方法。
例如:
jQuery.fn.extend({
sayHello: function() {
this.each(function() {
alert('Hello from ' + this.id);
});
}
});
// 然后你可以这样调用这个方法:
$('#myElement').sayHello();
总结一下,jQuery.extend
是用来扩展全局的 jQuery 对象的,而 jQuery.fn.extend
是用来扩展所有 jQuery 对象实例的。这就是它们之间的主要区别。