JQuery插件和函数之间的区别

Dot*_*ude 2 jquery jquery-plugins

当我查看JQuery插件代码时,在我看来,我们似乎正在创建一个函数(尽管使用了JQuery.fn语法)从功能上来说,函数和插件之间有什么区别?

Nic*_*ver 5

函数只是普通的JavaScript函数,例如:

function doSomething(param) {
  alert(param);
}
Run Code Online (Sandbox Code Playgroud)

插件旨在在一组元素上运行,例如:

jQuery.fn.plugin = function(param) {
  return this.attr('something', param);
}
Run Code Online (Sandbox Code Playgroud)

这将'something'在调用它的所有元素上设置属性,如下所示:

$('.selector').plugin('value');
Run Code Online (Sandbox Code Playgroud)

如果您打算在一组元素上使用该函数(例如在jQuery链中),那么插件可能是您的答案...如果您只是调用一个函数并做一些事情,那么实际上与元素集,请使用简单的命名函数。