当需要重定向任意页面时:

# URL完整地址
location.href="http://baidu.com";

当需要跳转到本页面某个锚点:

# 相当于相对地址
location.href = "#replaceState()方法";

# 直接修改锚点
location.hash = "replaceState()方法";

添加查询参数:


# 修改query了参数后 直接重新加载页面
location.href = "?name=hehe&age=123";
location.search = "name=hehe&age=123";

# 只修改search参数不重新加载页面
window.history.pushState('','uselessTitle','?age=123&name=hehe'); (第二个参数是title,但浏览器现在都会忽略它)

小结:

用history.pushState()只修改URL影响当前的浏览记录,而不对页面其他状态产生影响.可以用于页面跳转时携带参数.

location相关的属性会触发页面刷新.(改锚点只是跳转不会重新刷新页面) 操作search会覆盖原有的search,注意先获取再修改.