编写JQuery插件比编写javascript函数好吗?

编写JQuery插件比编写javascript函数好吗?,javascript,jquery,jquery-ui,jquery-plugins,Javascript,Jquery,Jquery Ui,Jquery Plugins,有人能解释一下下面的利弊吗 我有一个获取url查询字符串参数的函数,但我需要知道哪种方法是编写该函数的最佳方法。例如:如果我使用jquery插件风格创建函数,那么每次我都需要使用目标元素访问函数,如下所示 $("#targetDom").getQueryString("name"); 但是,如果我使用javascript类或javascript设计模式创建函数,它将是 getQueryString("name"); 这是一个小示例,但考虑到大型应用程序,哪种方法最好?使用jquery插件有什

有人能解释一下下面的利弊吗

我有一个获取url查询字符串参数的函数,但我需要知道哪种方法是编写该函数的最佳方法。例如:如果我使用jquery插件风格创建函数,那么每次我都需要使用目标元素访问函数,如下所示

$("#targetDom").getQueryString("name");
但是,如果我使用javascript类或javascript设计模式创建函数,它将是

getQueryString("name");

这是一个小示例,但考虑到大型应用程序,哪种方法最好?使用jquery插件有什么缺点吗?

答案取决于你问谁

我的答案是,如果您已经在页面上使用jQuery(这意味着利用jQuery不需要您导入额外的资源),那么继续使用jQuery编写扩展。jQuery进行内部更改,我相信在某些情况下,这实际上可以使代码比使用本机JavaScript更快

如果您还没有使用jQuery,那么为您的特定任务使用普通JavaScript并不是一个需要(甚至建议您使用)jQuery的问题。

您不必为每个功能创建jQuery函数,特别是如果您不打算处理DOM,这似乎就是您的情况


但是,您可能希望将这些函数分组到您自己的应用程序的小型库中,这些库也可以在其他应用程序中重用

例如:

var utils = {
    getQueryString : function(name){}
};
然后像这样访问它

utils.getQueryString("name");

如果我使用jquery插件风格创建函数,那么 我需要使用目标元素访问函数的时间如下

$("#targetDom").getQueryString("name");

不,你没有。您也可以像这样运行函数
$.fn.getQueryString(“name”)

我可以问一下,为什么您不使用已经提供的众多插件/功能中的一个来完成这项工作?请参阅以了解大量选项。另外,使用jQuery插件不需要选择器,您可以扩展它并使用
$.fn.getQueryString(“name”)(例如)。重复的-被关闭,因为这是一个没有明确答案的问题,因此当您特别想对jQuery集合进行操作时,可以编写jQuery插件。为什么会被否决?@Madbreaks,因为没有明确的答案。这不是建设性的:
目前来看,这个问题不适合我们的问答形式。我们希望答案能得到事实、参考资料或特定专业知识的支持,但这个问题可能会引发辩论、争论、投票或广泛讨论。如果您认为此问题可以改进并可能重新打开,请参阅常见问题解答以获取指导。