Looks like the new $.extend implementation doesn't let you recursively
extend a function anymore:
// create function w/properties
var T = $.test = function() { alert(T.prop ? 'good' : 'bad'); };
$.extend(T, { prop: false });
// elsewhere, do deep configuration
$.extend(true, $, {
test: {
prop: true
}
});
// uh oh!
console.log($.test);
$.test();
I often use this pattern (func w/props) to reduce conceptual area and
namespace clutter. I can work around this by directly manipulating
the properties ($.test.prop = true), but that becomes quite unwieldy
given the number of properties and the way i pass config objects
around.
In either case, it seems inconsistent to allow functions to be
extended directly ($.extend($.test, {prop:true})), but not when doing
a deep, recursive extend call. Was this an intended change or have i
found a bug?
--
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en.