One of the patterns you see a lot in jQuery and other JavaScript based framework is the use of a Settings object to pass configuration data to a module or function.
Again without spending too much words, a short sample:
This is a function from a jQuery plugin(can’t remember the exact name). But the important things to notice here are:
Again without spending too much words, a short sample:
(function ($) { $.fn.blink = function (options) { var settings = { 'speed': 'fast', 'repeat': 3 }; //if the options isn’t null extend defaults with user options. if ( options ) { $.extend( settings, options ); } for(var i = 0;i<settings.repeat;i++) { this.fadeOut(settings.speed); this.fadeIn(settings.speed); } } })(jQuery);
This is a function from a jQuery plugin(can’t remember the exact name). But the important things to notice here are:
- The blink method allows you to pass an options object.
- Inside the blink method a settings object is created with some default settings.
- If the user specified the options object, it will override one or more defaults by using the ‘extend’ method.