Совершенно нормально, что контекст в инструментах разработчика будет window
. Наберите this
и посмотрите, что написано. Это вероятно window
.
Таким образом, при вводе:
var location = "Hello";
Вы пытаетесь переопределить переменную в глобальной области, которая уже существует. Глобальная область видимости в браузере - это объект window
. Таким образом, location
в глобальной области действия совпадает с window.location
.
Попытка переопределить уже существующий объект (с помощью var
) не является ошибкой в javascript. Он просто игнорирует объявление var
и выполняет присваивание. И, присваивая строку объекту местоположения, переходит на новую веб-страницу.