ECMAScriptencodeU翼虎I和encodeU昂科雷IComponent的界别

那三个函数成效方面相比较相近,然而有一部分差别。

  • encodeUCRUISERI:不会开始展览编码的字符有8三个:!,#,$,&,’,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
  • encodeU索罗德IComponent:不会进展编码的字符有七105个:!,
    ‘,(,),*,-,.,_,~,0-9,a-z,A-Z

从下边包车型大巴阐明中我们得以看来来encodeU卡宴IComponent编码更很有个别,被编码后的字符都变成%xx那样的16进制情势。

 

从利用的角度来说:

encodeU本田CR-VI重要用以直接赋值给地址栏时候:

location.href=encodeURI("http://huangjacky.com/");

而encodeU卡宴IComponent首要用来url的query参数:

location.href="http://huangjacky.com/test.php?a="+encodeURIComponent("我就是我");

大约正是那样了。

以此时候你一定要说还有个escape函数。

至于escape我要说两点:

  1. ECMAScript 3中已经不提倡使用这一个函数了,所以我们依旧少用吧。
  2. escape不会编码的字符有陆十四个:*,+,-,.,/,@,_,0-9,a-z,A-Z