更改 url 位置的最佳方式

Best way change url location

我找到了 5 种不同的方法来更改网页上的当前位置。哪个更好,方法都需要吗?

这基本上是我发现的:

window.location.assign("www.example.com")

一样
window.replace("www.example.com")

区别在于replace()从文档历史记录中移除了当前文档的URL,这意味着无法使用"back"按钮导航回原始文档.

但是这两个和通过

改变位置有什么区别
window.location = "www.example.com" ?

怎么样

<a href> ?

history.pushState?

编辑

有些人因为 Javascript: Setting location.href versus location and What's the difference between window.location= and window.location.replace()? 将其标记为重复,但事实并非如此。我的问题远不止于此。

无处不在"how to change location"但我没有找到这些方法之间的完整比较。

window.location 将一个项目添加到您的历史记录中,您可以(或应该能够)单击 "Back" 并返回当前页面。

assign(url): 在提供的 URL.

加载文档

replace(url):用URL提供的文档替换当前文档。与 assign() 方法的不同之处在于,在使用 replace() 之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到它。