window.location可以简写成location。location相当于浏览器地址栏,可以将url解析成独立的片段。

一、属性

1 console.log(location.host);//主机名,包括端口
2 console(location.hostname);//主机名
3 console.log(location.href); //完整的url(网址)
4 console.log(location.pathname); //文件名(url中的部分路径)
5 console.log(location.port); //端口号
6 console.log(location.protocol); //协议(HTTP、https)
7 console.log(location.search) //提交的text(查询字符串)

二、location 每个查询字符串参数获取方法

1、一个地址

1 HTML、CSS、JS文件代码/BOM代码文件/04 location对象的常用属性.html?user=aaa&pwd=123
2
3 //?user=aaa&pwd=123

2、取得去掉问号的查询字符串

1 var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123
2 //从索引 1 开始取到后面的字符

3、将取到的字符串且分开

1 var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']

4、定义参数

1 var item = null,//装 items 中的元素
2 name = null,//装 item 中的名字
3 value = null,//装名字对应的值
4 args = {};//装结果

5、循环取出 items 中的值进行操作

1 for(i = 0;i<items.length;i++){
2     item = items[i].split('=');//['name','aaa']等号分隔开
3     name = decodeURIComponent(item[0]);
4     value = decodeURIComponent(item[1]);
5     if(name.length){
6         args[name] = value;
7     }
8 }
9 console.log(args);//示例:{user: "派大星", pwd: "cz"}

6、用函数进行封装一下

 1 function userPwd(){
 2     //1、取得去掉问好的查询字符串
 3     var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123
 4     var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']
 5     var item = null,name = null,value = null,args = {};
 6     for(i = 0;i<items.length;i++){
 7         item = items[i].split('=');//['name','aaa']
 8         name = decodeURIComponent(item[0]);
 9         value = decodeURIComponent(item[1]);
10         if(name.length){
11             args[name] = value;
12         }
13     }
14     return args;
15 }
16 var newUserPwd = userPwd();
17 console.log(newUserPwd);
12-19 21:59