Kann das Verhalten beim Löschen von Variablen in JavaScript nicht verstehen

Hier ist das Problem:

var x = 5;
window.x === x // true. x, as it seems, is a property of window
delete x; // false
delete window.x; // false;

ABER

window.x = 5;
delete window.x; // true

UND

window.x = 5;
delete x; // true

Was ist die Erklärung für ein solches Verhalten?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage