答案 0 :(得分:9)
此功能可对特殊字符进行编码。此外,它还会对以下字符进行编码:
, / ? : @ & = + $ # .
这个定义对于“特殊字符”是什么含糊不清。这听起来像是encodeURI
和encodeURIComponent
之间的比较。两者都会正确地将\
转义为%5C
,因此您不必担心反斜杠。
encodeURI
将保留列出的字符,因为假设整个URI正在编码:
encodeURI('http://example.com/foo bar/baz.html');
//produces "http://example.com/foo%20bar/baz.html"
encodeURIComponent
将转义所有,因为假设该字符串将用作查询字符串的一部分:
'http://example.com?foo=' + encodeURIComponent('http://example.com/fizz/buzz.html');
//produces "http://example.com?foo=http%3A%2F%2Fexample.com%2Ffizz%2Fbuzz.html"