1、概念
(1)window对象
window对象给我们提供了location属性用于获取或设置窗体的url,并且可以解析url,因为这个属性返回的是一个对象,所以我们也将这个属性称为location对象。
(2)URL
URL即统一资源定位符,是互联网上标准资源的地址,互联网上的每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该如何去处理它

(3)location的属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
console.log(location.href);
console.log(location.host);
console.log(location.port);
console.log(location.pathname);
console.log(location.search);
</script>
</head>
<form action="#" method="get">
<input type="text" name="username"/>
<input type="submit" value="提交" />
</form>
</body>
</html>

href:获取或者设置整个url
host:返回WEB主机的域名
port:端口号
pathname:路径,返回当前页面的路径和文件名
search:参数
hash:返回片段,#后面的内容
location.protocol 返回所使用的 web 协议
这些属性在书写的时候可以省略最前面的window
2、href实现页面跳转
(1)给href属性设置一个url:
<body>
<button>跳转</button>
<script>
var btn=document.querySelector('button');
btn.addEventListener('click',function(){
window.location.href="https://www.cnblogs.com/";
})
</script>
</body>

点击按钮后触发onclick事件,实现了页面的跳转,其他的页面跳转方式还有表单提交的跳转、文字或图片链接方式的跳转等。
(2)五秒钟跳转页面
<body>
<div></div>
<script>
var time=5;
var div=document.querySelector("div");
setInterval(function(){
if(time==0){
window.location.href="https://www.cnblogs.com/";
}else{
div.innerHTML='您将在'+time+"s后跳转博客园首页"
time--;
}
},1000);
</script>
</body>

3、在不同页面传递数据
在页面一书写表单:
<form action="test.html"> <input type="text" name="username" /> <input type="submit" value="提交" /> </form>
在第二个页面获取数据:
<body>
<div></div>
<script>
var params=location.search.substr(1);//去掉问号
var arr=params.split("=");
var div=document.querySelector("div");//分割后的数据为数组
div.innerHTML=arr[1];
</script>
</body>

4、location对象的方法
(1)assign方法
<body>
<button>点击进入博客园首页</button>
<script>
var btn=document.querySelector("button");
btn.addEventListener("click",function(){
location.assign("https://www.cnblogs.com/");
})
</script>
</body>

assign方法实现的页面跳转,跳转后的页面是可以点击返回按钮返回到原始页面的。
(2)replace方法
<body>
<button>点击进入博客园首页</button>
<script>
var btn=document.querySelector("button");
btn.addEventListener("click",function(){
location.replace("https://www.cnblogs.com/");
})
</script>
</body>

不可返回原始页面,因为是替换原始页面,不能记录原始页面的信息
(3)reload方法
<body>
<button>点击进入博客园首页</button>
<script>
var btn=document.querySelector("button");
btn.addEventListener("click",function(){
location.reload("https://www.cnblogs.com/");
})
</script>
</body>

重新加载页面,相当于浏览器的刷新
