getQueryStringArgs

getQueryStringArgs

/*
*  逐个查询 URL 末尾的内容
* 例如: ?username = Nodezhang & age = 25
*/
function getQueryStringArgs() {

    // 取得查询字符串并去掉开头的问号:
    var qs = (location.search.length > 0 ? location.search.substring(1) : "");

    // 创建一个新数组 来 保存数据的对象:
    args = {};

    items = qs.length > 0 ? qs.split("&") : []; // => username = Nodezhang & age = 25

    var item, name, value = null;
    var len = items.length;

    // 逐个将每一项添加到 args 对象中:
    for (var i = 0; i < len; i++) {
        item = items[i].split("=");  // => ['username = Nodezhang ', 'age = 25']

        // decodeURIComponent() 解码函数;encodeURIComponent() 编码函数对应;
        name = decodeURIComponent(item[0]);  // => username    age
        value = decodeURIComponent(item[1]); // => Nodezhang    25

        if (name.length) {
            args[name] = value;
        }
        // 抛出这个结果;
        return args;
    }

}

// 调用方法:
// 例如: ?username = Nodezhang & age = 25
var getQuery = getQueryStringArgs();
console.log(getQuery["username"]); // => "Nodezhang"
console.log(getQuery["age"]);      // => "25"
JS  基础  封装