什么是jQuery插件:
JQuery 插件是扩展方法的 JavaScript 等价物。让我们看一下插件语法:
$.fn.stretch = function(multiple) {
this.each(function() {
var $t = $(this);
$t.height($t.height * multiple);
$t.width($t.width * multiple);
});
return this;
};
我创建了一个插件,它将通过多次传递选择的元素的高度和宽度相乘。(请注意,这是出于演示目的而将其拍打在一起的)。
$('#smallDiv').stretch(2);
该方法$(this)
对其附加的对象进行操作,并返回一个对象,允许进一步
这是一系列JQuery 插件设计模式的良好指南——一些旨在优化性能,另一些用于互操作性/链接、可变性等。
JQuery 插件的好处:
1) 链接
$('#smallDiv').css("background-color", "beige").stretch(2);
2) 可重用性
我承认这是一个强迫的例子,但仍然......
$('#smallDiv').stretch(2).stretch(1.5);
3) 范围的模块化
我们插件内的代码无需担心变量范围。它是完全独立的,仅使用局部变量。
4) 可读性
我在这里假设您的插件已适当命名
到 DOM 还是不到 DOM:
插件可以在许多方面有用
我怀疑 90% 的插件都用于 DOM 操作。链接是一个很大的优势。
但是JQuery已经有了很多数组扩展方法:
$.distinct([1, 2, 2, 3])
$.union([1, 2, 2, 3], [2, 3, 4, 5, 5])
$.intersect([1, 2, 2, 3], [2, 3, 4, 5, 5])
$.except([1, 2, 2, 3], [2, 3, 4, 5, 5])
(全部从 Kristian Abrahamsen GitHub Repo借来)
并且存在用于字符串、Cookie 等的插件并且可以/应该考虑
JQuery插件的缺点:
全球并不总是高贵的:你漂亮的新stretch()
插件可以用在任何东西上。是好还是坏?你决定。谁应该使用它?谁不应该?应该用在哪些元素上?
如果不想重复使用,就不要创建插件。我敢肯定,您团队中的很多开发人员都太有创意了。
计划是必须的!请参阅此 Brolick 博客开发插件指南
在 Brolick 指南和模式参考之间,您会注意到草率的插件开发可能会导致许多错误和问题。其中最常见的是性能不佳和内存泄漏。两者都被低估了潜在的严重性,并且在插件开发中猖獗且频繁。