535 способов перезагрузки страницы с JavaScript - каковы последствия?

Кто-то перечислил 535 различных способов перезагрузки страницы в Javascript:

http://www.phpied.com/files/location-location/location-location.html

Например:

location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)
self.location.replace(location)
location['assign'](location)
window.location['assign'](location)
self['location'].assign(location)
self['location']['assign'](location)
self['location']['replace'](location)
location.href = location
location.href = self.location
location.href = window.location.href

Мне любопытно, знает ли кто-нибудь, как в браузере они обрабатываются по-разному: обновляется ли страница, но не работает в кэше - или нет?

Ответ 1

Все эти примеры обрабатываются браузером одинаково.

На самом деле, большинство из них - это просто разные способы доступа к переменной в Javascript. Возможно, вы могли бы написать аналогичный список с "XXX различными способами присвоения глобальной переменной значения другой глобальной переменной".

Например: location.href, window.location.href, self.location.href, location['href'], window.location['href'], self.location['href'] все указывают на одно и то же значение.

В списке, который вы разместили, есть только два действительно разных способа:

location = location //assign the whole location object to the location global variable
location = location.href //assign the string location.href to the location global variable

Ответ 2

location.reload() действует как форма submit (т.е. передает все значения формы)