[jQuery] writting plugin

[jQuery] writting plugin


Hi,
i'm trying to write a jQuery plugin, i have read some posts, documents
and other plugin code, but i don't understand the right standard to
write a plugin.
I found some patterns...
== example 1==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
});
};
})(jQuery);
== example 2==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
});
};
// private function
function functionA () {..do something..};
})(jQuery);
== example 3==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
});
};
// Public function?!?
$.fn.myPlugin.functionA () {..do something..}
})(jQuery);
== example 4==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
});
};
$.extend(myPlugin.prototype, {
functionA : function() {..do something..},
functionB : function() {..do something..}
}
})(jQuery);
== example 5==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
var functionA = function () {..do something..}
});
};
})(jQuery);
== example 6==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
// do something
});
};
$.fn.extend ({
functionA : function () {..do something..}
});
})(jQuery);
== example 7==
(function($) {
$.fn.myPlugin = function(o) {
return this.each(function() {
new myObj();
});
};
$.myObj = function () {..do something..};
$myObj = $.myObj;
$myObj.fn.extend = $myObj.extend = $.extend;
$myObj.fn.extend ({
functionA: function() {..do something..},
functionB: function() {..do something..}
});
$myObj.extend ({
functionC: function() {..do something..}
});
})(jQuery);
Which is the right plugin writting way?
I think that the last example is well done... but i don't understand
this line $myObj.fn.extend = $myObj.extend = $.extend; and the
differents between $myObj.fn.extend and $myObj.extend .. public or
private function? the first is for public function?
Please may you help me?
Many thanks
bye
Max