location
对象是 JavaScript 中的一个内置对象,用于操作浏览器的当前 URL。其中,assign()
和 replace()
方法都可以用来改变当前页面的 URL,并加载新的页面,但两者有以下区别:
assign()
方法:该方法会加载指定 URL 的新页面,并将其添加到浏览器的历史记录中。这意味着用户可以通过点击浏览器的返回按钮返回到之前访问的页面。使用assign()
方法后,浏览器的地址栏会显示新的 URL。
示例代码:
location.assign("https://www.example.com");
replace()
方法:该方法也会加载指定 URL 的新页面,但它不会将新页面添加到浏览器的历史记录中。因此,用户无法通过点击浏览器的返回按钮返回到之前的页面。使用replace()
方法后,浏览器的地址栏会显示新的 URL。
示例代码:
location.replace("https://www.example.com");
综上所述,assign()
方法会将新页面添加到浏览器的历史记录中,而 replace()
方法则不会。选择使用哪种方法取决于你是否希望用户能够返回到之前的页面。如果需要保留历史记录,以便用户可以返回到之前的页面,则使用 assign()
方法;如果不需要保留历史记录,则使用 replace()
方法。