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 语句使用说明.pdf2020年EVAL 函数EXECUTEGLOBAL 语句使用说明.pdf2020年EVAL 函数EXECUTEGLOBAL 语句使用说明.pdf2020年EVAL 函数EXECUTEGLOBAL 语句使用说明.pdf2020年EVAL 函数...
Eval、Execute、ExecuteGlobal 这三个语句(函数)都是执行字符串表达式,不过它们之间又有所不同。
在运行时添加过程和类是非常有用的,但是也可能导致在运行时覆盖已有的全局 变量 和函数。因为这可能导致非常严重的程序问题,因此,当使用 ExecuteGlobal 语句时一定得非常谨慎。
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解密脚本FLASH eval解密脚本 eval解密脚本
java实现eval函数,java文件放入eclipse直接可以运行。
赠送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; 包含...
使用java来实现js中eval的功能,包括字符串的计算,判断真假等功能
\ide-eval-resetter.zip\ide-eval-resetter\lib\ide-eval-resetter-2.1.9.jar
ide-eval-resetter
ide-eval-resetter
ide-eval-resetter-2.1.14.zip
DataBinder.Eval的基本格式 在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> 今天又学到一种,而且微软也说这种方法...
Eval 操作 Eval()可计算字符串 可绑定字段等功能
IDE软件试用30天:ide-eval-resetter-2.2.4.jar
这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.参数会作为一个 Python 表达式(从技术上说是一个条件...
EVAL加密解密在线工具说明 1、本工具可以帮助我们为自己的网站JS及其他代码加密解密隐藏代码;2、能够快速破解网站EVAL加密的脚本3、可以辅助在自己的网站/博客作为一个款在线工具,方便自己以及方便其他需要的网友...
STM32100E-EVAL开发指南,该文档是STM32100E-EVAL的详细开发指南,可以配合库函数STM32F10x_StdPeriph_Lib_V3.5.0使用,