getUrlParams-获取链接中带的参数

简单版

 * 获取URL中带的链接参数
 * @param search 链接后缀
 * @return {{}} 对象
 */
function getUrlParams (search) {
  search = search || location.search;
  var paramsSplit = search.replace(/^[^\?]*\?/i, '').split('&');
  var params = {};
 
  if (Array.isArray(paramsSplit)) {
    paramsSplit.forEach(function (item) {
      const itemSplit = item.split('=');
      params[itemSplit[0]] = itemSplit[1];
    });
  }
  return params
}

复杂版

 * 获取URL中带的链接参数
 * @param search 链接后缀
 * @return {{}} 对象
 */
function getUrlParams (search) {
  search = search || location.search;
 
  // 判断是否为字符串类型
  if (typeof search !== 'string') {
    search = search.toString();
  }
 
  var paramsSplit = search.replace(/^[^\?]*\?/i, '').split(/&/);
  var params = {};
 
  // 数据为空
  if (paramsSplit.length < 1) {
    return params;
  }
 
  if (Array.isArray(paramsSplit)) {
    paramsSplit.forEach(function (item) {
      // 数据为空, 腿出方法
      if (!item) {
        return false;
      }
      var itemSplit = item.split(/=/);
 
      // 判断字符串中是否有多个=
      if (itemSplit.length >= 2) { // 是
        var key = itemSplit.splice(0, 1);
        params[key] = itemSplit.join('=');
      }
    });
  }
  return params
}

你可能感兴趣的:(随笔知识总结)