1.escape
escape是對字符串進行編碼尸闸,不適用于URL彻亲。作用是讓它們在所有電腦上可讀。編碼之后的效果是%XX或者%uXXXX這種形式吮廉。
其中 ASCII字母苞尝、數(shù)字、@*/+ 宦芦,這幾個字符不會被編碼宙址,其余的都會。
注釋:ECMAScript v3 已從標(biāo)準(zhǔn)中刪除了 unescape() 函數(shù)调卑,并反對使用它抡砂,因此應(yīng)該用 decodeURI() 和 decodeURIComponent() 取而代之大咱。
2. encodeURI和encodeURIComponent
它們都是編碼URL,唯一區(qū)別就是編碼的字符范圍注益,其中
encodeURI方法不會對下列字符編碼 ASCII字母徽级、數(shù)字、~!@#$&*()=:/,;?+'
encodeURIComponent方法不會對下列字符編碼 ASCII字母聊浅、數(shù)字、~!*()'
也就是encodeURIComponent編碼的范圍更廣现使,會將http://XXX
中的//也編碼低匙,會導(dǎo)致URL不可用。(其實java中的URLEncoder.encode(str,char)也類似于這個方法碳锈,會導(dǎo)致URL不可用)