535种用JavaScript重载页面的方法——后果是什么?

535 Ways to Reload the page with JavaScript - what are the consequences?

本文关键字:后果 是什么 方法 JavaScript 重载 535种用      更新时间:2023-09-26

有人列出了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

我很好奇,如果有人知道这些是如何处理不同的浏览器-是否刷新页面,但破坏缓存-或不作为情况可能是?

所有这些例子在浏览器中都是一样的。

实际上,它们中的大多数只是在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

location.reload()的行为类似于表单提交(即传递所有表单值)