源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

VBS教程:VBscript语句-Execute 语句

  • 时间:2021-11-16 05:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:VBS教程:VBscript语句-Execute 语句

Execute 语句

执行一个或多个指定的语句。 [code][b]Execute[/b] statements[/code] 所需要的 [i]statements[/i] 参数是一个字符串表达式,其中包含一个或多个要执行的语句。  如果要在 [i]statements[/i] 参数中包含多条语句,应使用分号或嵌入的分行将其分隔开。 [h3]说明[/h3]在 VBScript 中,[i]x = y[/i] 可以有两种解释。首先是作为赋值语句,将 [i]y[/i] 的值赋予 [i]x[/i]。其次是作为表达式,测试[i]x[/i] 和 [i]y[/i] 的值是否相等。如果相等,[i]结果[/i]为 [b]True[/b];否则,[i]结果[/i]为 [b]False[/b]。[b]Execute[/b] 语句总是使用第一种解释,而 [b]Eval[/b] 方法总是使用第二种。 [b]注意[/b]  在 Microsoft(R) Visual Basic Scripting Edition 中并不存在赋值与比较之间的混淆,因为赋值运算符(=)与比较运算符(==)是不同的。 调用 [b]Execute[/b] 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 [b]Execute[/b] 语句中运行的代码可以使用的。不过,必须明白的一点是,如果被执行的代码创建了过程,那么该过程将不会继承它所在的过程的作用域。 与其他过程类似,新的过程的作用域是全局的,它继承了全局作用域的全部东西。与其他过程不同的是,它的上下文不是全局作用域,因此它只能在发生 [b]Execute[/b] 语句的过程内的上下文中执行。不过,如果相同的 [b]Execute[/b] 语句是在过程之外(例如在全局作用域)的作用域中被调用,那么它将不仅继承全局作用域中的所有东西,而且它还可以在任何地方被调用,因为它的上下文是全局的。下面的例子说明了这种特点:
[code]Dim X[/code]            [code]' [/code]在全局作用域中声明[code] X[/code]。[code]X = "Global"[/code]         [code]' [/code]将全局的[code] X [/code]赋值。[code]Sub Proc1[/code]            [code]' [/code]声明过程。[code]  Dim X[/code]            [code]' [/code]在局部作用域中声明[code] X[/code]。[code]  X = "Local"[/code]         [code]' [/code]对局部的[code] X [/code]赋值。            [code]' [/code]此处的[code] Execute [/code]语句建立了一个过程,            [code]' [/code]在调用该过程时它将打印[code] X[/code]。            [code]' [/code]它打印的将是全局[code] X[/code],因为[code] Proc2[/code]            [code]' [/code]继承了全局作用域中的一切。[code]  [b]Execute[/b] "Sub Proc2: Print X: End Sub"[/code][code]  Print Eval("X")[/code]      [code]' [/code]打印本地[code] X[/code]。[code]  Proc2[/code]            [code]' [/code]在[code] Proc1 [/code]的作用域中调用[code] Proc2[/code]。[code]End Sub[/code][code]Proc2[/code]            [code]' [/code]本行将导致一个错误,因为            [code]' Proc2 [/code]在[code] Proc1 [/code]之外是不可使用的。[code]Proc1[/code]            [code]' [/code]调用[code] Proc1[/code]。[code]  [b]Execute[/b] "Sub Proc2: Print X: End Sub"[/code][code]Proc2[/code]            [code]' [/code]这句话可以成功,因为[code] Proc2[/code]            [code]' [/code]现在是全局可用的。
下面的例子显示了如何将 [b]Execute[/b] 语句改写,免于将整个过程包含在引号内:
[code]S = "Sub Proc2" & vbCrLfS = S & "  Print X" & vbCrLf S = S & "End Sub"Execute S[/code]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部