咱們能夠知道:escape()除了 ASCII 字母、數字和特定的符號外,對傳進來的字符串所有進行轉義編碼,所以若是想對URL編碼,最好不要使用此方法。而encodeURI() 用於編碼整個URI,由於URI中的合法字符都不會被編碼轉換。encodeURIComponent方法在編碼單個URIComponent(指請求參數)應當是最經常使用的,它能夠講參數中的中文、特殊字符進行轉義,而不會影響整個URL。javascript
請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(好比協議、主機名、路徑或查詢字符串)。所以 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號。java
1、encodeURI() //轉義一個URI中的字符函數
語法:encodeURI(uri) //這個在編碼不一樣的AJAX請求時,解決中文亂碼問題常常用到。編碼
var str1 = "你好javascript"; var str2 = encodeURI(str1); document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript
2、decodeURI() //解碼一個URI中的字符code
語法:decodeURI(uri)blog
var str1 = "你好javascript"; var str2 = encodeURI(str1); document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript var str3 = decodeURI(str2); document.write("<br/>" + str3) //輸出 你好javascript
3、encodeURIComponent() //轉義URI組件中的字符ip
var str1 = "你好javascript"; var str2 = encodeURIComponent(str1); document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript
4、decodeURIComponent() //解碼一個URI組件中的字符字符串
var str1 = "你好javascript"; var str2 = encodeURIComponent(str1); document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript var str3 = decodeURIComponent(str2); document.write("<br/>" + str3) //輸出 你好javascript
5、escape() //編碼一個字符串it
語法:escape(value);io
var str = "javascript 你好"; var str1 = escape(str); document.write(str1); //javascript%20%u4F60%u597D
6、unecape() //解碼一個由escape()函數編碼的字符串
window.onload = function () { var str = "javascript 你好"; var str1 = escape(str); document.write(str1); //javascript%20%u4F60%u597D var str2 = unescape(str1); alert(str2); //彈出 javascript你好 }