escape

会替换所有的非法字符,0xff以内的为%xx,超出的按照%uxxxx,所以只能编码BMP(basic multi panel)基本平面。 
javascript已经不推荐使用此方法。 

encodeURI

替换空格等等,url中的: // 都保留,汉字会编码为%xx%xx%xx,能编码超出BMP的字符 

encodeURIComponent

替换所有非字母和数字字符,url中的: // ? 空格,都会被编码。所以此方法一般用来编码url中的参数。 
编码范围同encodeURI。 

总结

综合来说,encodeURI一般用来编码url部分。encodeURIComponent用来编码参数部分。
比如,IT虾米网
IT虾米网部分,用encodeURI
xxxxx,用encodeURIComponent编码,尤其在参数值为一个url地址时,应该使用encodeURIComponent就更为迫切了。
在参数值不含有url地址的特殊字符时,encodeURI和encodeURIComponent就差不多了。


发布评论
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

前端优化,需要考虑的几个方面详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。