标题中的三个方法都是用来对字符串进行编码的,当然它们之间是有区别的。
下面就对它们的作用分别做一下介绍,它们的区别自然也就知道了。
先来看一段代码实例:
console.log(encodeURI("犀牛前端部落")); console.log(encodeURIComponent("犀牛前端部落")); console.log(escape("犀牛前端部落"));
上面仅仅是对三个方法的演示,下面分别做一下介绍。
一.encodeURI()和encodeURIComponent()方法:
这两个方法确实比较接近,所以就放在一起介绍了。
(1).encodeURI()不编码的字符有82个:
!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
(2).encodeURIComponent()不编码字符有71个:
!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
(3).encodeURI()方法通常是给整个网址编码:
console.log(encodeURI("http://www.pipipi.net/"));
(4).encodeURIComponent主要给url的query参数编码:
console.log("http://www.pipipi.net/test.php?antzone="+encodeURIComponent("犀牛前端部落"));
上面两个方法对应的解码方法分别是:
decodeURI()
decodeURIComponent()
二.escape()方法:
此方法通常不能够用来对URI进行编码,对URI进行编码的话推荐用上面两个。
escape()返回一个包含了charstring内容的字符串值( Unicode格式)。
所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。如果字符值大于255的则用%uxxxx 格式表示。
此方法不编码的字符有69个:
*,+,-,.,/,@,_,0-9,a-z,A-Z
此方法对应的解码方法是unescape()。
encodeURI、encodeURIComponent和escape用法,这样的场景在实际项目中还是用的比较多的,关于encodeURI、encodeURIComponent和escape用法就介绍到这了。
encodeURI、encodeURIComponent和escape用法属于前端实例代码,有关更多实例代码大家可以查看。
本文地址: http://www.zzsi.net/code/web/98576.html
本站部分资源来源与网络,仅供学习参考使用,请勿商用,如侵犯了您的权益,请联系我们删除。