Вероятно Вы неправы в своем представлении как работает extend.
Во-первых, насколько я понимаю, ваш код в сферическом вакууме отработать не должен, а должен ругнуться на строчку с консоль логом что default1 и default2 undefined - их присвоили где-то в другом месте, а вот эти постоянные false|true - это побочный эффект, приведенный код на них не влияет. По крайней мере когда я попытался создать фидл и посмотреть, произошло именно так)
Во-вторых, extend
согласно документации - это просто мержилка всех объектов которые передали, в тот объект, который передан первым параметром. Просто если параметр один, она считает это укороченной формой записи и мержит его в $.
То есть чтобы записать в пространство $ результат мержа, а насколько я понял вы хотите этого, надо написать $.extend($,obj1,obj2);
Впрочем я совсем не жукверист, могу ошибаться =)