Aliasing der JavaScript-Funktion scheint nicht zu funktionieren

Ich habe gerade gelesendiese Frage Ich wollte lieber die Alias-Methode als die Function-Wrapper-Methode ausprobieren, aber ich konnte weder in Firefox 3 oder 3.5beta4 noch in Google Chrome funktionieren, sowohl in den Debug-Fenstern als auch auf einer Test-Webseite.

Firebug:

<code>>>> window.myAlias = document.getElementById
function()
>>> myAlias('item1')
>>> window.myAlias('item1')
>>> document.getElementById('item1')
<div id="item1">
</code>

Wenn ich es auf eine Webseite bringe, gibt mir der Aufruf von myAlias ​​folgenden Fehler:

<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 (mit >>> aus Gründen der Übersichtlichkeit eingefügt):

<code>>>> window.myAlias = document.getElementById
function getElementById() { [native code] }
>>> window.myAlias('item1')
TypeError: Illegal invocation
>>> document.getElementById('item1')
<div id=?"item1">?
</code>

Und auf der Testseite erhalte ich den gleichen "illegalen Aufruf".

Mache ich etwas falsch? Kann das noch jemand reproduzieren?

Seltsamerweise habe ich es auch nur versucht und es funktioniert in IE8.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage