O aliasing da função JavaScript não parece funcionar
Eu estava lendoessa questão e queria experimentar o método alias em vez do método wrapper de funções, mas não consegui fazê-lo funcionar no Firefox 3 ou 3.5beta4 ou no Google Chrome, tanto nas janelas de depuração quanto em uma página de teste.
Firebug:
<code>>>> window.myAlias = document.getElementById function() >>> myAlias('item1') >>> window.myAlias('item1') >>> document.getElementById('item1') <div id="item1"> </code>
Se eu colocá-lo em uma página da web, a chamada para myAlias me dá esse erro:
<code>uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: file:///[...snip...]/test.html :: <TOP_LEVEL> :: line 7" data: no] </code>
Chrome (com >>> inserido para maior clareza):
<code>>>> window.myAlias = document.getElementById function getElementById() { [native code] } >>> window.myAlias('item1') TypeError: Illegal invocation >>> document.getElementById('item1') <div id=?"item1">? </code>
E na página de teste, recebo a mesma "invocação ilegal".
Estou fazendo algo errado? Alguém mais pode reproduzir isso?
Além disso, curiosamente, eu apenas tentei e funciona no IE8.