Succede...
Chiamare una funzione presuppone sempre che questa sia una funzione dell'oggetto window.
Proviamo.
<html> <head> <script> function funzione(){ alert(this); } funzione(); </script> </head> <body> </body> </html>E ottengo questo:
[object Window]Quindi this si riferisce all'oggetto che ha chiamato la funzione!
Ora creo un nuovo oggetto e chiamo la funzione da questo oggetto:
<html> <head> <script> function funzione(){ alert(this); } var mia=new funzione(); </script> </head> <body> </body> </html>E ottengo:
[object Object]perchè adesso è mia a chiamare la funzione, non più window, come è quando non è preposto il nome alla funzione.
Bene. Per ora mi fermo qua.