使用Location对象查询字符串参数

   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.

                

原文地址:https://www.cnblogs.com/skylar/p/3624173.html