zoukankan      html  css  js  c++  java
  • 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个:

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

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

      一般来说,使用encodeURIComponent()比encodeURI()要多,因为在实践中更常见的是查询字符串参数而不是对基础URI编码。encodeURIComponent()的不编码字符有71个:

    !  ' ( ) * - . _ ~ 0-9 a-z A-Z
  • 相关阅读:
    生成函数初步
    Lg 8月赛(构造+交互)
    wqs 二分学习笔记
    FastAPI 学习之路(十六)Form表单
    线性代数入门
    Oracle-PDB拔插
    MySQL-audit审计插件
    MySQL-用户与权限管理
    MySQL-存储引擎
    MySQL-逻辑结构
  • 原文地址:https://www.cnblogs.com/webph/p/5111559.html
Copyright © 2011-2022 走看看