location是BOM中最有用的对象之一:
1.它提供了与当前窗口中加载的文档有关的信息;
2.他还提供了一些导航功能。
location对象的属性有: hash, host, hostname, href, pathname, port, protocol, search.
虽然location.search可以返回从问号到结尾的所有内容,但是却没有办法逐个访问其中每个查询字符串参数,为此可以创建下面这样一个函数,用以解析查询字符串:
/*用以解析查询字符串参数的函数*/ function getQueryStringArgs(){ var qs = (location.search.length>0 ? location.search.substring(1) : ''); var arg = {}; var items = qs.length ? qs.split('&') : []; for(var i=0;i<items.length;i++){ var item = items[i].split('='); var name = decodeURIComponent(item[0]); var value = decodeURIComponent(item[1]); document.write('name:'+name+'value:'+value); if(name.length){ args[name] = value; } } return args; }
其中substring()函数是基本包装类型String的方法,与其类似的还有slice(),substr(),substring(),他们都接受一或二个参数(子字符串开始的位置,子字符串到哪里结束):
1.在参数都是正值的情况下:三个函数基本相同;
2.在参数是负值时:
slice()方法会将传入的负值与字符串的长度相加;
substring()方法会把所有的负值都转换为0;
substr()方法会将传入的第一个负值与字符串的长度相加,第二个参数转换为0.