La función de alias de JavaScript no parece funcionar
Solo estaba leyendoesta pregunta y quería probar el método de alias en lugar del método de envoltura funcional, pero parece que no conseguí que funcionara en Firefox 3 o 3.5beta4, o Google Chrome, tanto en sus ventanas de depuración como en una página web de prueba.
Firebug:
<code>>>> window.myAlias = document.getElementById function() >>> myAlias('item1') >>> window.myAlias('item1') >>> document.getElementById('item1') <div id="item1"> </code>
Si lo pongo en una página web, la llamada a myAlias me da este error:
<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 (con >>> insertado para mayor claridad):
<code>>>> window.myAlias = document.getElementById function getElementById() { [native code] } >>> window.myAlias('item1') TypeError: Illegal invocation >>> document.getElementById('item1') <div id=?"item1">? </code>
Y en la página de prueba, obtengo la misma "Invocación ilegal".
¿Estoy haciendo algo mal? ¿Alguien más puede reproducir esto?
Además, por extraño que parezca, lo he intentado y funciona en IE8.