Short variable for DOM methods
<p>Can a "shortcut" not be made to methods such as <code>document.createElement</code>, <code>document.createTextNode</code>, <code>[element].setSelectionRange</code> etc?</p>

<pre><code>var c = document.createElement;
var div = c('div');
div.innerHTML = 'blah';

document.body.appendChild(div);
</code></pre>

<p>When executing the above code <strong>Firebug console returns an error</strong>:</p>

<blockquote>
  <p>uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: <a href="http://fiddle.jshell.net/_display/" rel="nofollow">http://fiddle.jshell.net/_display/</a> ::  :: line 20" data: no]</p>
</blockquote>

<p>This happens on <a href="http://jsfiddle.net/garreh/EEvgA/" rel="nofollow">jsfiddle as provided here</a> and silently fails when done outside of jsfiddle with no errors.</p>

<p>The below code works fine, so is it just limited to DOM manipulation methods?</p>

<pre><code>function long_function_name(prop)
{
   alert(prop);
}

var c = long_function_name;

c('blah');
</code></pre>

<hr>

<p>This has <strong>practical examples for compression</strong> sake:</p>

<p>Instead of:</p>

<pre><code>if (element.setSelectionRange)
{
    element.setSelectionRange(pos, pos);
}
</code></pre>

<p>Compress to:</p>

<pre><code>var s = element.setSelectionRange || 0;
if (s) s(pos, pos);
</code></pre>
