JavaScript

eval()

  eval()方法像一个圆的ECMAScript解析器,只接受一个参数,即只要执行的JavaScript字符串。当解析器发现代码中调用
eval()方法时,它见面拿盛传的参数作为实际的ECMAScript语句来分析,然后将推行结果插入到本位置。eval()方法能分解字符串的力量不
常强大,但为要命危险。当用它们实施用户输入数据时,可能会见发黑心用户输入威胁站点或应用程序字符的代码,就是所谓的代码注入

  [注意]于严厉模式下,外部看不至eval()中开创的旁变量或函数,为eval赋值也会见导致错误

 

escape():本着字符串进行编码,将字符的unicode编码转化为16上制序列

  ES3面临反对escape()的运,并提议就此encodeURI和encodeURIComponent代替,不过escape()依然让普遍
泛的用来cookie的编码,因为escape()恰好编码了cookie中的非官方字符并且针对路线中常并发的“/”不开展编码。escape()的不编码
字符有69单:

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

decodeURI():解码encodeURI()

decodeURIComponent():解码encodeURIComponent()

unescape():解码escape()

encodeURI():对一切URI进行编码,用特别之UTF-8替换所有无效的字符

  encodeURI()的不编码字符来82独ECMAScript:

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

encodeURIComponent():对URI的某某一样段进行编码(常用于GET方法传递参数),用异样之UTF-8替换所有无效的字符

  一般的话,使用encodeURIComponent()比encodeURI()要多,因为在实践中更普遍的凡查询字符串参数而无是对准基础URI编码。encodeURIComponent()的不编码字符来71只:

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