跳到主要内容

简述jQuery.extend 与 jQuery.fn.extend的区别?

参考答案:

jQuery.extendjQuery.fn.extend 都是 jQuery 中用于扩展对象的方法,但它们之间有一些重要的区别。

  1. jQuery.extend

这个方法用于扩展 jQuery 对象本身,也就是全局范围内的扩展。你可以用它来添加新的全局函数或者属性到 jQuery 对象上。这些函数或属性可以直接通过 jQuery(或简写为 $)来访问。

例如:

jQuery.extend({
  hello: function() {
    alert('Hello, world!');
  }
});

// 然后你可以这样调用这个函数:
jQuery.hello(); // 或者简写为 $.hello();
  1. 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 对象实例的。这就是它们之间的主要区别。