Javascript 这是构建插件的好方法吗?

Javascript 这是构建插件的好方法吗?,javascript,jquery,plugins,Javascript,Jquery,Plugins,我只是想知道以下方法是否是构建jQuery插件的好方法,如果不是,哪些是最佳实践: $.fn.loginsys = function(options) { var opts = $.extend({}, $.fn.loginsys.defaults, options); return this.each(function() { /* Code To Be Executed */ }); } $.fn.loginsys.defaults = {

我只是想知道以下方法是否是构建jQuery插件的好方法,如果不是,哪些是最佳实践:

$.fn.loginsys = function(options) {

    var opts = $.extend({}, $.fn.loginsys.defaults, options);

    return this.each(function() {

        /* Code To Be Executed */

    });

}

$.fn.loginsys.defaults = {

    /* Some Options */

}

我将从jquery教程插件中对此提出建议(但有几种方法):


我将从jquery教程插件中对此提出建议(但有几种方法):

更多信息请点击此处:


此处的更多信息:

除了最佳实践和所有内容之外,是否有理由公开默认设置

如果您希望从外部对其进行编辑,您可能希望为此公开一个setter,并将它们保留在$.fn.loginsys=函数闭包中,以确保它们不会被篡改而停止插件的工作


例如,请参阅jQuery的ajaxSettings()。

除了最佳实践和所有内容之外,是否有理由公开默认设置

如果您希望从外部对其进行编辑,您可能希望为此公开一个setter,并将它们保留在$.fn.loginsys=函数闭包中,以确保它们不会被篡改而停止插件的工作


例如,请参阅jQuery的ajaxSettings()。

关于如何编写jQuery插件,有几个很好的教程,如。只要谷歌一下。另外,看看其他jQuery插件是如何构造的。我认为这是你能学到最多的地方。

有几个关于如何编写jQuery插件的好教程,比如。只要谷歌一下。另外,看看其他jQuery插件是如何构造的。我认为这是你能学到最多的地方。

我认为你只是缺少了包装

(function($) {

    // plugin code here

})(jQuery);

但是,有很多插件模式;这里有一个可供下载的文件。

我想你只是缺少了包装

(function($) {

    // plugin code here

})(jQuery);

但是,有很多插件模式;以下是可供下载的。

是否希望用户能够更改默认选项?是否希望用户能够更改默认选项?不应在新行上放置大括号,以避免自动插入分号(->多行语句/声明过早终止)。另外,它很难看。你真的很老了,有几种编写代码的方法,在我看来,这是最可读的方法。它还有一个特别的名字我对这种编写插件的方式有一个疑问,我在其他插件中发现了类似这样的东西
jQuery.fn.reverse=Array.prototype.reverse在它的开头,它代表什么?它似乎是一种数组转换方法,一种最小的演示数组.prototype.reverse是一个函数,插件reverse正是这个函数所做的。打开大括号永远不能放在新行上,以避免自动插入分号(->多行语句/声明提前终止)另外,它很难看。你真的很老了,有几种编写代码的方式,在我看来,这是最可读的方式。它还有一个特别的名字。我对这种编写插件的方式有一个问题,我在其他插件中发现了类似这样的东西
jQuery.fn.reverse=Array.prototype.reverse;
在它的开头,什么这代表什么?这似乎是一个数组转换方法,一个最小的demo array.prototype.reverse是一个函数,而插件reverse正是这个函数所做的。这似乎是个好主意,@albanx代码示例是个好主意,选项可以在插件之外编辑吗?这似乎是个好主意,@albanx代码示例是个好主意吗想法和选项可以在插件外编辑吗?谢谢,我将查看所有模板:)谢谢,我将查看所有模板:)
(function($) {

    // plugin code here

})(jQuery);