将功能封装在jQuery插件或普通JavaScript函数中更好吗?

Is it better to encapsulate functionality in a jQuery plugin or vanilla JavaScript function?

本文关键字:函数 JavaScript 更好 封装 功能 jQuery 插件      更新时间:2023-09-26

假设我有一些JavaScript将修改DOM,也许隐藏/显示表单字段或类似的东西,让我们假设我想在多个页面上执行此任务,但每个页面只有一次或两次。

是将这个功能封装到jQuery插件还是一个普通的JavaScript函数中更好?

本质上是:

jQuery.fn.toggleFormInput = function() {
    // Stunning JavaScript/jQuery magic here
}

比这更好或更差:

function toggleFormInput () {
    // Stunning JavaScript/jQuery magic here
}

这取决于你网站的其他部分。如果你正在使用jQuery库的其余部分,那么你可以在自己的库中使用jQuery特定的函数——each()就是一个很好的例子。这种jQuery魔力可以让您编写更少的代码。我会考虑做一些基准测试,你写两个,看看哪个执行更快。

但是如果你想要一个函数,你可以从一个站点移动到另一个站点而不依赖它可能是一个好主意,单独使用Javascript。就我个人而言,我倾向于使用纯Javascript,这样我就不会被绑定到任何一个库,但这是你的选择。

嗯,当我这样做的东西,我使用普通的javascript函数,我认为它更容易查找这样的函数,我没有看到与纯javascript的缺点,我看到一个与jQuery的缺点。fn,也就是当有人在你的代码中看到$("selector").someFunctionName时,他可能会尝试在jquery文档中搜索这个函数。