encodeURI
会对非ACSII字母、数字以及- _ . ! ~ * ' ( )符号和URI
分隔符;/?:@&=+$,#之外的所有字符进行十六进制的转义序列进行替换
如:encodeURI(“http://www.baidu.com/pa th/我的”)返回
"http://www.baidu.com/pa%20th/%E6%88%91%E7%9A%84"
encodeURIComponent
encodeURIComponent与encodeURI的作用几乎相同而区别是
encodeURIComponent会对URI分隔符;/?@$=+#等进行转义
如encodeURI(“http://www.baidu.com/pa th/我的”)
返回"http%3A%2F%2Fwww.baidu.com%2Fpa%20th%2F%E6%88%91%E7%9A%84"
decodeURI、decodeURIComponent
很明显decodeURI和decodeURIComponent就是encodeURI和encodeURIComponent的反向解码方法
encodeURI()主要用于前端与后端衔接处类似cookie、AJAX等多数情况都是避免URL的中文路径在后端形成乱码而进行编码。与encodeURI类似的还有escape()方法但在新的ES标准中已经不建议使用escape()方法了建议使用encodeURI和encodeURIComponent代替