Extending function object using Object.freeze() - can't add fields
<p>Being curious why the following code gives such a "strange" results:</p>

<pre><code>var f = function() {}
$.extend(f, Object.freeze({foo1:"bar1"}));
</code></pre>

<p>Typing in Chrome (kindly see an update - it's in <em>Chromium</em>, not <em>Chrome</em> from here and below) console:</p>

<pre><code>&gt; f.foo1
</code></pre>

<p>The result in Chrome console is: </p>

<pre><code>&gt; undefined
</code></pre>

<p>Furthermore, trying the following:</p>

<pre><code>$.extend(f, {foo2:Object.freeze([1,2,3])});
</code></pre>

<p>Typing in Chrome console:</p>

<pre><code>&gt; f.foo2
</code></pre>

<p>The result is even stranger:</p>

<pre><code>&gt; function Object() { [native code] }
</code></pre>

<p>What am I doing wrong? Why using <code>Object.freeze()</code> has those implications?</p>

<p><strong>Update</strong>: Not in <em>Chrome</em>, but in <em>Chromium 18</em> (the latest on Ubuntu at the moment of writing). I guess this is an implementation bug. Accepting the only answer, though the effect can still be reproduced on my browser.</p>
