手机
当前位置:查字典教程网 >编程开发 >ASP教程 >ASP Eval、Execute、ExecuteGlobal区别分析
ASP Eval、Execute、ExecuteGlobal区别分析
摘要:Eval计算一个表达式的值并返回结果。语法:[result=]eval_r(expression_r)expression_r为任意有效VB...

Eval 计算一个表达式的值并返回结果。

语法:[result = ]eval_r(expression_r)

expression_r 为任意有效 VBScript 表达式的字符串

示例:

复制代码 代码如下:

response.Write(eval_r("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_r("a=b") 是表示赋值还是比较运算呢?

这里有个约定,在 Eval 中,“a=b”总是表示比较运算,在 Execute 和 ExecuteGlobal 中,总是表示赋值。

【ASP Eval、Execute、ExecuteGlobal区别分析】相关文章:

一个ASP小马

asp下多个域名后缀同时查询的域名查询系统

ASP中的EVAL函数使用教程

ASP输出生成Word 、Excel、Txt文件的方法

TSYS资源特性的效率提高方法

jb51生成所有页面的效果+分页生成 原创

统计在线人数 dxy

ASP常用函数收藏乱七八糟未整理版

一小偷类!!有兴趣的可以看看

ASP 四舍五入FormatNumber函数用法

精品推荐
分类导航