Не могу понять поведение удаления переменных в JavaScript

Вот проблема:

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

НО

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

А ТАКЖЕ

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

Чем объясняется такое поведение?

Ответы на вопрос(3)

Ваш ответ на вопрос