我想知道是否有人可以向我解释这个功能?我已经对它进行了测试,它的工作就像一场梦,但我不明白这一点!
来自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 and)=%29。
答案 0 :(得分:1)
引用"逃避"只是对该名称的全局功能的引用。如果.replace()
的第二个参数是一个函数,那么JavaScript会将匹配的字符串传递给函数,并将其替换为函数返回的任何内容。
尝试输入
escape("!")
在浏览器的控制台中。