ECMAScriptJavaScript

* + - . / @ _ 0-9 a-z A-Z

  一般的话,使用encodeU福睿斯IComponent()比encodeUPAJEROI()要多,因为在实践中更普遍的是查询字符串参数而不是对基础U路虎极光I编码。encodeULacrosseIComponent()的不编码字符有7二个:

! # $ & ' ( ) * + , - . / : ; = ? @ _ ~ 0-9 a-z A-Z

unescape():解码escape()

decodeURIComponent():解码encodeURIComponent()

  [注意]在严俊形式下,外部访问不到eval()中创建的别的变量或函数,为eval赋值也会招致错误

 

  eval()方法像二个总体的ECMAScript解析器,只接受二个参数,即要执行的JavaScript字符串。当解析器发现代码中调用
eval()方法时,它会将盛传的参数作为实际的ECMAScript语句来分析,然后把实施结果插入到原岗位。eval()方法可以表达字符串的能力极度强大,但也十分危急。当用它实施用户输入数据时,大概会有恶意用户输入威逼站点或应用程序字符的代码,就是所谓的代码注入

  encodeU安德拉I()的不编码字符有捌拾叁个:

eval()

  ES3中反对escape()的利用,并提议用encodeU奥德赛I和encodeU凯雷德IComponent代替,然则escape()依旧被广
泛的用来cookie的编码,因为escape()恰好编码了cookie中的不合法字符并且对路线中常出现的“/”不进行编码。escape()的不编码
字符有七十多个:

escape():对字符串进行编码,将字符的unicode编码转化为16进制连串

encodeURIComponent()ECMAScript,:对U途锐I的某一段进行编码(常用于GET方法传递参数),用特有的UTF-8替换全体无效的字符

encodeURI():对整个U奥迪Q7I进行编码,用异样的UTF-8替换全数无效的字符

!  ' ( ) * - . _ ~ 0-9 a-z A-Z

decodeURI():解码encodeURI()