Location对象是window对象的一部分,应该百分之百的前端开发用过这个对象,但几乎所有人也都是仅仅使用location.href。但是location对象上面有好几个属性和方法对开发很有帮助。
属性:location.href
可读可写,设置或返回当前的URL地址。
属性:location.host
可读可写,设置或返回当前 URL 的主机名称和端口号。
属性:location.hostname
可读可写,设置或返回当前 URL 的主机名称。
属性:location.href
可读可写,设置或返回 URL 的锚部分(从 # 号开始的部分)。
属性:location.port
可读可写,设置或返回 URL 的端口号。
属性:location.pathname
可读可写,设置或返回 URL 的路径部分。也就是端口号之后,从/开始。
属性:location.protocol
可读可写,设置或返回 URL 的协议。
属性:location.search
可读可写,设置或返回 URL 的参数部分,从?开始,包含?。
方法:location.assign(url)
加载新的文档,其实就是跳转新的地址。
方法:location.reload(true/false)
刷新当前页面,false与F5刷新一样,true与shift+F5一样。
方法:location.replace(url)
跳转新的地址,且没有历史记录在浏览器,也就是替换当前的文档。
上面所有的属性和方法的设置都会刷新页面,在一些业务场景下会非常有用,比如单页面应用,参数改变,单页面是不会重新执行生命周期的,使用search方法就能刷新页面,或者跳转也是,我们希望重定向,又不希望浏览器记住历史记录,使用replace方法。
欢迎关注Coding个人笔记公众号