我目前在开发一个相当大的插件,我想知道这种添加公共方法的模式是否有任何缺点,如果有,那么是什么?
编辑:澄清一下,使用此方法的优势是可以使用插件范围内可用的任何私有变量,并且可以轻松地链接这些方法。 我看不到哪些是缺点?它一直工作得很好,但我不确定对于可扩展性较大的插件是否推荐使用这种方法。
以下是简化后的代码:
以下是简化后的代码:
;(function($){
$.fn.myplugin = function () {
var self = this
var publicMethods = {
one: function () {
...
return self
},
two: function () {
...
return self
},
three: function () {
...
return self
}
}
for (var m in publicMethods)
self[m] = publicMethods[m]
return self
}
}(jQuery))
// Usage
var $myplugin = $('#foo').myplugin()
$myplugin.one().two().three()