zoukankan      html  css  js  c++  java
  • javascript

    这两个函数功能上面比较接近,但是有一些区别。

    • encodeURI:不会进行编码的字符有82个 :!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
    • encodeURIComponent:不会进行编码的字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

    从上面的说明中我们可以看出来encodeURIComponent编码更很一些,被编码后的字符都变成%xx这样的16进制形式。

    image

    从使用的角度来说:

    encodeURI主要用于直接赋值给地址栏时候: 

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

    而encodeURIComponent主要用于url的query参数:

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

    大致就是这样了。

    这个时候你肯定要说还有个escape函数。

    关于escape我要说两点:

    1. ECMAScript 3中已经不提倡使用这个函数了,所以我们还是少用吧。
    2. escape不会编码的字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
  • 相关阅读:
    02-05 flutter provider的使用
    02-04 flutter 构造函数总结
    02-03 flutter异步
    02-02dart语法
    02-01dart语法
    01-01 iOS内存对齐、内存对齐算法
    01-02 iOS kvo、kvc
    01-03 category 原理概述
    多线程编程 (2) -NSOperation
    IOS基本控件属性
  • 原文地址:https://www.cnblogs.com/huangjacky/p/4015690.html
Copyright © 2011-2022 走看看