[jQuery] Extending $.extend to extend from multiple objects!

[jQuery] Extending $.extend to extend from multiple objects!

Hi,
I'd like to suggest an enhancement to $.extend, to allow extending
an object from multiple objects.
This will allow a simple way for plugins to have a global set of
default options:
$.fn.plugin(options) {
var options = $.extend({}, arguments.callee.defaults, options || {});
...
}
$.fn.plugin.defaults = { ... }
This extends an empty object with the global defaults and then
again with the local options. With the existing implementing this would
have to be done as such:
$.extend($.extend({}, arguments.callee.defaults), options || {});
Heres the new $.extend function:
jQuery.extend = jQuery.fn.extend = function(obj) {
    // If no property objects were provided, then we're extending jQuery
    if ( arguments.length == 1 ) {
        var obj = this;
        var a = 0;
    } else {
        var a = 1;
    }
    
    while (a < arguments.length) {
        var prop = arguments[a];
        
        if (prop !== null && prop != undefined) {
            // Extend the base object
            for ( var i in prop ) obj[i] = prop[i];
        }
        
        a++;
    }
    // Return the modified object
    return obj;
};
- Mark Gibson
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/