Open wingmeng opened 5 years ago
本期要介绍的是一个非常实用的 API —— URLSearchParams
从字面意思来看,这个 API 应该是用来处理 URL 的查询字符串的,事实上,它不仅可以轻松摆平 URL 查询字符串,而且还提供了许多非常丝滑的处理方法供开发者使用。 在此之前要对 URL 传参进行相关操作是比较繁琐的,常见的方法是通过前后两次 split 划分字符串为数组,找出参数,或者通过正则表达式匹配出参数。这类方法写起来成本较高,而且对于一些比较特殊的 URL 参数很容易出错(例如下面这些)。
split
http://xx.xx.xx?from=user.html?id=1 http://xx.xx.xx?favorite=rap&favorite=basketball&favorite=music
let urlParams = '?action=edit&username=Kitty&from=?user-list.html&favorite=rap&favorite=music&favorite=reading'; // 创建实例 let params = new URLSearchParams(urlParams); console.log('是否有 action 字段:', params.has('action')); // true console.log('获取 username:', params.get('username')); // Kitty console.log('获取 from:', params.get('from')); // ?user-list.html console.log('获取 favorite:', params.get('favorite')); // rap console.log('获取全部 favorite:', params.getAll('favorite')); // ["rap", "music", "reading"] console.log('输出所有的 key:', [...params.keys()]); console.log('输出所有的 values:', [...params.values()]); params.append('area', 'China'); // 追加数据 console.log('输出为字符串形式:', params.toString());
append()
delete()
entries()
get()
getAll()
has()
keys()
set()
toString()
values()
本期要介绍的是一个非常实用的 API —— URLSearchParams
从字面意思来看,这个 API 应该是用来处理 URL 的查询字符串的,事实上,它不仅可以轻松摆平 URL 查询字符串,而且还提供了许多非常丝滑的处理方法供开发者使用。 在此之前要对 URL 传参进行相关操作是比较繁琐的,常见的方法是通过前后两次
split
划分字符串为数组,找出参数,或者通过正则表达式匹配出参数。这类方法写起来成本较高,而且对于一些比较特殊的 URL 参数很容易出错(例如下面这些)。用法:
实例方法:
append()
delete()
entries()
get()
getAll()
has()
keys()
set()
toString()
values()