1、这四个方法的用处html
一、用来编码和解码URI的函数
统一资源标识符,或叫作 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent四个用来编码和解码 URI 的函数以外 ECMAScript 语言自身不提供任何使用 URL 的支持。编码
Scheme : First / Second ; Third ? Fourthspa
其中斜体的名字表明组件;“:”, “/”, “;”,“?”是看成分隔符的保留字符。code
三、有和不一样?htm
encodeURI 和 decodeURI 函数操做的是完整的 URI;这俩函数假定 URI 中的任何保留字符都有特殊意义,全部不会编码它们。blog
encodeURIComponent 和 decodeURIComponent 函数操做的是组成 URI 的个别组件;这俩函数假定任何保留字符都表明普通文本,因此必须编码它们,因此它们(保留字符)出如今一个完整 URI 的组件里面时不会被解释成保留字符了。ip
以上说明摘自ECMAScript标准,为了容易读懂作了点编辑加工。资源
四、图解四个函数的不一样:字符串
ECMA对这四个函数还作了详细解释,多是为了写的更逻辑化一些,采用了相似变量配合逻辑的写法来讲明,可是让初学者看得云里雾里的特别绕,因此有必要把它写得更像是人读的东西……
当 URI 里包含一个没在上面列出的字符或有时不想让给定的保留字符有特殊意义,那么必须编码这个字符。字符被转换成 UTF-8 编码,首先从 UTF-16 转换成相应的代码点值的替代。而后返回的字节序列转换为一个字符串,每一个字节用一个“%xx”形式的转移序列表示。(具体转换规则能够参考抽象操做Encode和Decode的说明)