url地址栏参数<==>对象(将对象转换成地址栏的参数以及将地址栏的参数转换为对象)的实用函数

/**
 * @author web得胜
 * @param {Object} obj 需要拼接的参数对象
 * @return {String}
 * */
function obj2qs(obj) {
    if(!obj && !Object.keys(obj).length) {
        return "";
    } else {
        var arr = [];
        for(var key in obj) {
            arr.push(key + "=" + obj[key]);
        }
        return arr.join("&");
    }
}

/**
 * @author web得胜
 * @param {String} url url地址栏
 * @return {Object}
 */
function qs2obj(url) {
    var qs = url.split("?")[1];
    var arr = [];
    var res = {};
    if(!qs) {
        // return res;
    } else {
        arr = qs.split("&");
        for(var i = 0, len = arr.length; i < len; i++) {
            var key = arr[i].split("=")[0];
            var val = arr[i].split("=")[1];
            res[key] = decodeURIComponent(val);
        }
    }
    return res;
}

obj2qs是将参数(对象类型的参数)转成地址栏的参数,在ajax和跳转页面的时候可以用上。

qs2obj是取地址栏参数的,当你需要使用地址栏参数的时候可以调用这个函数。返回值是一个对象。