最精要解释,助你快速区分和记住encodeURI和encodeURIComponent
来源:互联网 发布:c语言基础书籍推荐 编辑:程序博客网 时间:2024/06/07 02:27
1. js中傻傻分不清楚的几个函数
encodeURI
encodeURIComponent
escape
以及它们对应的解密函数,为了方便记忆,在此不列举,以免造成混乱。
2. 作用
这几个函数主要的作用就是加密uri,目的是因为在正常的url(url是uri的一种,在前端主要涉及它,所以以此为例)中,有些字符是不允许的,比如空格,一旦出现这样的不允许字符,浏览器就不能正常识别url。而有的时候,尤其是后面接参数的时候,却可能需要这样的不允许字符。
怎么办?使用这些函数去加密,从而让浏览器能识别,在使用的时候,再解密。
3. 原理
escape:能够加密ASCALL字符集。众所周知,ASCALL字符集比较小,并不适合很多场景,因此在ECMA-262规范中便规定废弃了,因此这个函数可以不用管。
encodeURI:加密URI,将URI中不允许的字符转化成允许的字符(但语义不变,只是用特殊的UTF-8编码来替换,因此转化前后的URL在浏览器看来是一样的),但是这个转化是只转化URL不允许的字符,允许的字符,即使是特殊字符也不会转化。
encodeURIComponent:这个是最彻底的转化。将所有除了数字字母以外的字符都转化成UTF-8码。因此经过这个函数转化的URL是不能被浏览器识别的。那么它的作用是什么呢?作用就是为了屏蔽浏览器对某些URL的识别。比如,一个URL后面要接参数,而这个参数的值也是URL,那么如果不转化,浏览器会认为是两个URL,从而错误识别。这个时候就需要使用这个函数来转化。当然,正因为此,我们需要被浏览器识别的URL一定不能用这个函数,而不需要识别的经过此函数转化后再接到正常的URL后面即可。而且,顾名思义,后面有component单词,也就是组件的意思,因此它是用来加密URL中一部分字符串(也可以看成是组件)用的,而不是用来加密整个URL的。
- 最精要解释,助你快速区分和记住encodeURI和encodeURIComponent
- 区分escape、encodeURI和encodeURIComponent
- 简单明了区分escape、encodeURI和encodeURIComponent
- 简单明了区分escape、encodeURI和encodeURIComponent
- 简单明了区分escape、encodeURI和encodeURIComponent
- 简单明了区分escape、encodeURI和encodeURIComponent
- 简单明了区分escape、encodeURI和encodeURIComponent
- escape encodeURI 和encodeURIComponent
- escape encodeURI 和encodeURIComponent
- encodeURI和encodeURIComponent
- encodeURI和encodeURIComponent函数
- encodeURI和encodeURIComponent函数
- encodeURI 和 encodeURIComponent
- escape、encodeURI和encodeURIComponent
- encodeURIComponent() 和encodeURI()
- encodeURI(),encodeURIComponent()和escape()
- encodeURI和encodeURIComponent
- encodeURI 和 encodeURIComponent
- 数据库基础知识(二)数据库分表技术
- 操作系统5
- android 机器码获取/ 品牌获取 / 型号获取
- angular js的路由和传参
- 算法题/数的子结构
- 最精要解释,助你快速区分和记住encodeURI和encodeURIComponent
- 欢迎使用CSDN-markdown编辑器
- 机器学习算法描述目录
- eclipse+Tomcat+ssm配置一个简单web项目
- Hdu 6212 Zuma 区间DP
- Java中hashCode的作用(就好比菜篮子)
- (二)hadoop源码学习之Configuration
- python的urllib2和beautifulsoup编写爬虫
- 线段树 高速公路(road)