2014-07-09 46 views
0

我想知道是否有人可以向我解釋此功能?我已經測試過它,它像夢一樣運作,但我不明白!fixedEncodeURIComponent要求的說明

這是從MDN參考這裏:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

function fixedEncodeURIComponent (str) { 
    return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A"); 
} 

我明白取代的比賽之後更換,有什麼我掙扎是轉義參考,並導致實際的編碼值替換二次置換字符例如(=%28和)=%29。

任何幫助,將不勝感激!

回答

1

「轉義」的引用只是對該名稱的全局函數的引用。如果.replace()的第二個參數是一個函數,那麼JavaScript會將匹配的字符串傳遞給該函數,並將其替換爲該函數返回的任何內容。

嘗試在瀏覽器的控制檯鍵入

escape("!") 

+0

謝謝!我不知道逃跑。 – KryptoniteDove