$.extend documentation clarification
<p>Following jQuery does not change the value of defaults or options. The returned value is same as empty. empty has been changed and populated with merged data. All is good.</p>

<pre><code>var empty = {} 
var defaults = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
$.extend(empty, defaults, options);
</code></pre>

<p>However I saw someone passing true as the first option.</p>

<pre><code>var defaults = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" };  
var output = $.extend(true, defaults, options);
</code></pre>

<p>In this case defaults has been changed.options is same and the returned value is same as defaults.</p>

<p>Now try passing false.</p>

<pre><code>var defaults = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
var output = $.extend(false, defaults, options);
</code></pre>

<p>In this case defaults and options are not changed. So passing true is same as</p>

<pre><code>var defaults = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
var output = $.extend(defaults, options);
</code></pre>
