Cet extrait de code JavaScriptJavaScript: comportement différent lorsque vous utilisez la notation de points par rapport à la notation support
var x = window.foo;
window.x = null;
alert(window.bar === undefined);
alertes "true".
Cependant, cet extrait
var x = window.foo;
window[x] = null;
alert(window.bar === undefined);
alertes "false".
Que se passe-t-il ici?
(je suis en cours d'exécution de ce code dans le dernier navigateur Chrome dans une page HTML sans autre code JavaScript il.)
Mise à jour
Comme @elusive habilement résumée dans son commentaire ci-dessous, j'ai supposé que window.x
et window[x]
sont équivalents. Ce n'est pas correct. window.x
est équivalent à window["x"]
.
Pouvons-nous demander quel est le contenu de 'window.foo'? –
'window.x' est équivalent à' window ['x'] 'not' window [x] '. – jwueller
@elusive Oui, vous l'avez résumé en une phrase :) –