📅  最后修改于: 2023-12-03 15:31:46.227000             🧑  作者: Mango
在 JavaScript 中,有时需要将字符串转换为 URL。这种情况可能是由于以下原因:
无论你的具体用例是什么,将字符串转换为 URL 的过程非常简单。
JavaScript 提供了两个函数,可以将字符串转换为 URL:
encodeURI()
: 用于将字符串转换为符合 URL 规范的格式,但是并不会对 URL 中的特殊字符进行编码(如 #
, ?
, &
, 等)。encodeURIComponent()
: 用于将字符串转换为符合 URL 规范的格式,并且会对 URL 中的特殊字符进行编码。下面是一个简单的示例,展示了如何在 JavaScript 中使用这两个函数将字符串转换为 URL:
let url = 'https://www.google.com/search?q=' + encodeURI('JavaScript 转到 URL');
console.log(url);
// 打印: https://www.google.com/search?q=JavaScript%20%E8%BD%AC%E5%88%B0%20URL
在 ES6 中,还引入了一个新的对象 URLSearchParams
,可以以更简单的方式操作 URL 查询字符串。
URLSearchParams
对象有多个有用的方法,例如:
set(name, value)
: 将名称为 name
的查询参数设置为值 value
。get(name)
: 返回名称为 name
的查询参数的值。has(name)
: 判断是否存在名称为 name
的查询参数。toString()
: 将 URLSearchParams
对象转换为字符串。下面是一个简单的使用示例:
let params = new URLSearchParams();
params.set('q', 'JavaScript 转到 URL');
let url = 'https://www.google.com/search?' + params.toString();
console.log(url);
// 打印: https://www.google.com/search?q=JavaScript+%E8%BD%AC%E5%88%B0+URL
无论你使用哪种方法,将字符串转换为 URL 都非常简单。只需调用函数或使用 URLSearchParams
对象即可。记住,如果需要对 URL 中的特殊字符进行编码,请使用 encodeURIComponent()
。