手写系列:实现 getQueryString 方法获取 URL 上的参数值

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手写系列:实现 getQueryString 方法获取 URL 上的参数值相关的知识,希望对你有一定的参考价值。

实现

function getQueryString(url, name) {
  let index = url.indexOf('?');
  console.log('?', index); // ? 30
  // 需要判断是否存在 ?
  if(index === -1){
    return undefined;
  }
  // 将 ? 后面的参数分割成 type=blog 这样的数组
  let paramsArr = url.substring(index + 1).split('&');
  console.log(paramsArr); // ["type=blog", "name=kaimo"]
  // 遍历 paramsArr 
  for(let i = 0; i < paramsArr.length; i++) {
    // 每个元素用 = 分割
    let paramsItem = paramsArr[i].split('=');
    // 找到 name 并返回值
    if(paramsItem[0] === name) {
      return paramsItem[1];
    }
  }
}
// 测试
console.log(getQueryString('https://blog.csdn.net/kaimo313?type=blog&name=kaimo', 'name')); // kaimo

以上是关于手写系列:实现 getQueryString 方法获取 URL 上的参数值的主要内容,如果未能解决你的问题,请参考以下文章

手写系列 # 4:实现 apply 方法

手写系列 # 5:实现 bind 方法

框架手写系列---通过反射手写EventBus框架

《Java手写系列》-手写MyBatis框架

框架手写系列---Asm方式实现日志插入

框架手写系列---javassist修改字节码方式,实现美团Robust热修复框架