encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

注意一:当被转义的字符是数字类型会导致结果不一致。
举例:encodeURIComponent(123456789123456789)
//返回值 "123456789123456780"

let num = 99999999999999999999999;
console.log(encodeURIComponent(num)); //"1e%2B23"
console.log(decodeURIComponent("1e%2B23")) //"1e+23"

注意二:当被转义的数字(数字是不会被转义的)的数值大于某个值的时候,就会用科学计数法来表示,而科学计数法中的字母"e" 和 "+" 会被encodeURIComponent转义


亲爱的阿乾
885 声望22 粉丝

此时无能为力,此心随波逐流