快速业务通道

VBS教程:VBscript语句-Execute 语句

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09

Execute 语句

执行一个或多个指定的语句。

Execute statements

所需要的 statements 参数是一个字符串表达式,其中包含一个或多个要执行的语句。 如果要在 statements 参数中包含多条语句,应使用分号或嵌入的分行将其分隔开。

说明

在 VBScript 中,x = y 可以有两种解释。首先是作为赋值语句,将 y 的值赋予 x。其次是作为表达式,测试xy 的值是否相等。如果相等,结果True;否则,结果FalseExecute 语句总是使用第一种解释,而 Eval 方法总是使用第二种。

注意在 Microsoft(R) Visual Basic Scripting Edition 中并不存在赋值与比较之间的混淆,因为赋值运算符(=)与比较运算符(==)是不同的。

调用 Execute 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 Execute 语句中运行的代码可以使用的。不过,必须明白的一点是,如果被执行的代码创建了过程,那么该过程将不会继承它所在的过程的作用域。

与其他过程类似,新的过程的作用域是全局的,它继承了全局作用域的全部东西。与其他过程不同的是,它的上下文不是全局作用域,因此它只能在发生 Execute 语句的过程内的上下文中执行。不过,如果相同的 Execute 语句是在过程之外(例如在全局作用域)的作用域中被调用,那么它将不仅继承全局作用域中的所有东西,而且它还可以在任何地方被调用,因为它的上下文是全局的。下面的例子说明了这种特点:

Dim X'' 在全局作用域中声明 XX = "Global"'' 将全局的 X 赋值。Sub Proc1'' 声明过程。  Dim X'' 在局部作用域中声明 X  X = "Local"'' 对局部的 X 赋值。'' 此处的 Execute 语句建立了一个过程,'' 在调用该过程时它将打印 X'' 它打印的将是全局 X,因为 Proc2'' 继承了全局作用域中的一切。  Execute "Sub Proc2: Print X: End Sub"  Print Eval("X")'' 打印本地 X  Proc2''  Proc1 的作用域中调用 Proc2End SubProc2'' 本行将导致一个错误,因为'' Proc2  Proc1 之外是不可使用的。Proc1'' 调用 Proc1  Execute "Sub Proc2: Print X: End Sub"Proc2'' 这句话可以成功,因为 Proc2'' 现在是全局可用的。

下面的例子显示了如何将 Execute 语句改写,免于将整个过程包含在引号内:

S = "Sub Proc2" & vbCrLfS = S & "  Print X" & vbCrLf S = S & "End Sub"Execute S

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号