項(xiàng)目開發(fā)中遇到前端編碼的問(wèn)題斜友,總是搞不清楚
encodeURI
和encodeURIComponent
兩者的區(qū)別变汪,今天就來(lái)整理一下:
兩者最主要的區(qū)別是encodeURI
不會(huì)編譯有些httpURL
中的預(yù)留符號(hào)洽瞬,而encodeURIComponent
會(huì)編譯儡循,參考下圖:
7cf4ff89acaa707fd64b479377c99aa.png
從上圖中可以清晰地看出兩者對(duì)httpURL
中的預(yù)留符號(hào)編譯的結(jié)果隔披,不過(guò)無(wú)論上述哪一種枢冤,都不會(huì)對(duì)[a-zA-Z0-9]
的字符以及!*()'.
進(jìn)行編碼鸠姨,即編碼之后還是本身。如果遇到中文的話淹真,兩者的解析結(jié)果是一樣的讶迁。
還有一點(diǎn)要注意的是decodeURI
和decodeURIComponent
是用于解碼的,decodeURI
對(duì)應(yīng)encodeURI
核蘸,decodeURIComponent
是對(duì)應(yīng)encodeURIComponent
的巍糯。