La fonction onClick "this" renvoie l'objet Window

Je suis venu à travers un casse-tête d'un problème avec mon application JavaScript.

Si j'écris un élément comme ceci:

<li onClick="alert(this.tagName)"></li>

- Je obtenir "LI."

Cependant si je fais ceci:

<li onClick="foo()"></li>

Où "foo()" est:

function foo(){ alert(this.tagName); }

- Je obtenir "undefined."

Je suis loin comment "cela" est supposé fonctionner en ce qui concerne les attachés fonctions. Mais, je suis perplexe parce que "cela" n'est pas de ramasser l'élément, mais apparemment défaut "fenêtre". Je ne peux pas comprendre pourquoi ce qui se passe.

Quelqu'un aurait-il une explication?

source d'informationauteur Pori