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 中,总是表示赋值。
分享到:
相关推荐
在VBScript中,`Eval`函数和`Execute`、`ExecuteGlobal`语句是三个重要的动态执行代码的工具,它们各自有不同的用途和特性。 `Eval`函数的主要功能是计算一个字符串表达式,并返回表达式的值。它适用于需要动态计算...
在ASP中,Eval、Execute和ExecuteGlobal是三个用于执行字符串形式的表达式或代码的语句,它们的功能类似,但是用途和行为存在一定的差异。 Eval函数用于计算一个字符串形式的表达式,并返回该表达式的结果。这在...
在编程领域,Eval函数、Execute语句和ExecuteGlobal语句是用于在程序运行时动态执行代码的技术。这三种技术各有特点和使用场景,但同时也带来潜在的风险。本文将详细介绍这三种技术的使用方法、特点和注意事项。 ...
Z.Expressions.Eval 2.4.2 是一个专注于表达式解析的开源库,它由Java语言构建,设计为超轻量级且高度可扩展。这个工具包的主要目标是提供一个强大的框架,允许开发者在应用程序中方便地处理和执行自定义的公式化...
ide-eval-resetter-2.3.5-c80a1d.zipide-eval-resetter-2.3.5-c80a1d.zipide-eval-resetter-2.3.5-c80a1d.zipide-eval-resetter-2.3.5-c80a1d.zipide-eval-resetter-2.3.5-c80a1d.zipide-eval-resetter-2.3.5-c80a1d...
在这里,我们将深入探讨eval函数在加密和解密中的应用,以及相关工具的使用。 首先,`eval`是一个在许多动态语言中都存在的函数,如JavaScript和PHP,它的主要功能是将字符串当作可执行的代码来运行。在加密和解密...
在JavaScript中,`eval()`函数是一个非常特殊且强大的工具,它能够将字符串作为JavaScript代码执行。这个功能在处理动态生成的代码或者解析JSON时非常有用。然而,由于安全和性能问题,`eval()`通常被避免在生产环境...
eval解密脚本FLASH eval解密脚本 eval解密脚本
《前端项目-expr-eval:数学表达式求值器的深度解析》 在现代Web开发中,前端项目扮演着至关重要的角色,它们是用户与应用程序交互的直接界面。本篇文章将深入探讨一个名为"expr-eval"的前端项目,这是一个用于解析...
在Java编程语言中,`eval`函数通常与JavaScript关联,因为JavaScript有一个内置的`eval`函数,它能够解析并执行一个字符串作为JavaScript代码。然而,Java本身并不直接提供类似的功能。`eval`函数在Java中并不是标准...
EVAL操作集合包含Eval()的一些常用操作常用函数 EVAL操作是ASP.NET中的一种绑定机制,可以将数据绑定到控件上,以便在页面上显示数据。Eval操作可以计算字符串,并绑定字段等功能。 在使用Eval操作时,需要注意...
《TREC评估工具trec_eval最新版本解析》 在信息技术领域,信息检索(Information Retrieval, IR)是一项至关重要的任务,而TREC(Text REtrieval Conference)是推动这一领域发展的重要活动。作为IR评估的标准工具...
IDE Eval Resetter 2.1.14 是一个专门针对集成开发环境(IDE)的评估期重置工具。这个版本2.1.14的压缩包包含了一个名为 "ide-eval-resetter" 的核心程序,它主要用于解决开发者在使用试用版IDE时遇到的评估期限制...
"ide-eval-resetter"是一个专门针对集成开发环境(IDE)的工具,主要用途是重置IDE的评估期,使得用户可以继续免费试用。在软件开发领域,很多IDE提供了有限时间的试用版本,试用期结束后如果没有购买许可证,通常会受...
NLG_Eval是一款用于自然语言生成(Natural Language Generation, NLG)评估的工具,它能够帮助研究人员和开发者量化地分析生成文本的质量。在使用NLG_Eval之前,我们需要确保安装了必要的依赖数据包,以便该工具能...
"idea插件-eval-resetter"是一款针对IntelliJ IDEA开发的插件,主要用于解决IDEA试用期到期或者评估限制的问题。在开发环境中,开发者经常需要使用IDEA进行项目开发,而IDEA的免费试用期有限,过了试用期后会受到...
IDE-Eval-Resetter 是一个专门针对IDE的评估期重置工具,通常用于开发者在试用期结束后继续使用软件。版本号"2.2.3-031813"表示这是该工具的第2.2.3次更新,发布日期可能是2013年3月18日。这个工具主要解决的是IDE...
赠送jar包:rank-eval-client-6.2.3.jar; 赠送原API文档:rank-eval-client-6.2.3-javadoc.jar; 赠送源代码:rank-eval-client-6.2.3-sources.jar; 赠送Maven依赖信息文件:rank-eval-client-6.2.3.pom; 包含...