`
penua
  • 浏览: 19640 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Eval、Execute、ExecuteGlobal

阅读更多

Eval、Execute、ExecuteGlobal
这三个语句(函数)都是执行字符串表达式,不过它们之间又有所不同。
Eval 计算一个表达式的值并返回结果。
语法:[result = ]Eval(expression)
expression 为任意有效 VBScript 表达式的字符串
示例:response.Write(eval("3+2")) '输出 5
"3+2" 使用引号括起来,表示是一个字符串,但是在 Eval “眼里”,把它当作一个表达式 3+2 来执行。
Execute 执行一个或多个指定的语句。多个语句间用冒号(:)隔开。
语法:Execute statements
示例:Execute "response.Write(""abc"")" '输出 abc
"response.Write(""abc"")" 使用引号括起来,表示是一个字符串,但是在 Execute “眼里”,把它当作一个语句 response.Write("abc") 来执行。
ExecuteGlobal 在全局名字空间中执行一个或多个指定的语句。
语法:ExecuteGlobal statement
示例
dim c
c = "全局变量"
sub S1()
   dim c
   c = "局部变量"
   Execute "response.Write(c)" '输出 局部变量
   ExecuteGlobal "response.Write(c)" '输出 全局变量
end sub
Execute "response.Write(c)" '输出 全局变量
call S1()
变量 c 既在全局范围内定义,也在函数范围内定义,Execute 按自己所处的位置来决定使用局部变量还是全局变量,而 ExecuteGlobal 则始终只认全局范围的 c。
总结:
Eval 只执行一个语句 语句可以有也可以没有返回值
Execute 执行一个或多个语句 忽略语句的返回值
ExecuteGlobal 执行一个或多个语句 忽略语句的返回值 全局变量和局部变量同名时总是使用全局变量
注意:
在 VBScript 中“赋值”与“比较”都是使用“=”,比如“a=b”既可以说是将 b 值赋予 a,也可以说是判断 a 与 b 是否相等,那么 Eval("a=b") 是表示赋值还是比较运算呢?
这里有个约定,在 Eval 中,“a=b”总是表示比较运算,在 Execute 和 ExecuteGlobal 中,总是表示赋值。

分享到:
评论

相关推荐

    2020年EVAL 函数EXECUTEGLOBAL 语句使用说明.pdf

    在VBScript中,`Eval`函数和`Execute`、`ExecuteGlobal`语句是三个重要的动态执行代码的工具,它们各自有不同的用途和特性。 `Eval`函数的主要功能是计算一个字符串表达式,并返回表达式的值。它适用于需要动态计算...

    Eval 函数 | Execute 语句 | ExecuteGlobal 语句使用说明|angluo-asp-32985.pdf

    在编程领域,Eval函数、Execute语句和ExecuteGlobal语句是用于在程序运行时动态执行代码的技术。这三种技术各有特点和使用场景,但同时也带来潜在的风险。本文将详细介绍这三种技术的使用方法、特点和注意事项。 ...

    ASP Eval、Execute、ExecuteGlobal区别分析

    语法:[result = ]eval_r(expression_r) expression_r 为任意有效 VBScript 表达式的字符串 示例: 代码如下: response.Write(eval_r(“3+2”)) ‘输出 5 “3+2” 使用引号括起来,表示是一个字符串,但是在 Eval ...

    ASP混天绫 v0.96

    1,不能支持带有Execute/ExecuteGlobal/Eval语句的页面代码的混淆,今后的版本也无法支持 2,暂时不支持Server端JScript,今后的版本或许能支持。 最新版本0.96 增加两个实用的功能: 1,混淆数字 2,混淆字符串

    VBScript 语言参考

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

    VBScript 语言参考中文手册CHM

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

    VBSCRIP5 -ASP用法详解

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

Global site tag (gtag.js) - Google Analytics