Materializzo la funzione nell'ambito di window.
Quindi creo oggetti per diverse funzioni.
Dal contesto "oggetti" chiamo il metodo di ogni oggetto che mostra il contesto di esecuzione.
Quindi dal contesto window chiamo il metodo di una di queste funzioni, che mostra il contesto di esecuzione.
Chiamando dal contesto oggetto, ottengo come contesto l'oggetto, mentre chiamando dal contesto window ottengo come contesto window.
<script> funzione(); function funzione(){ this.azione=function(){alert(this);} } function funzione2(){ this.azione=function(){alert(this);} } function funzione3(){ this.azione=function(){alert(this);} } f=new funzione(); f2=new funzione2(); f3=new funzione3(); f.azione(); f2.azione(); f3.azione(); azione(); </script>Ottengo per tre volte [object Object], e quindi ottengo [object Window]. L'ultima volta il metodo viene chiamato dal contesto window, e non dal contesto oggetto.
Nessun commento:
Posta un commento