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

源码网商城

VBS教程:VBscript语句-ExecuteGlobal 语句

  • 时间:2022-03-14 18:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:VBS教程:VBscript语句-ExecuteGlobal 语句

ExecuteGlobal 语句

执行一个功多个在脚本全局名字空间中指定的语句。 [code][b]ExecuteGlobal[/b] [i]statement[/i] [/code] [i]statement[/i] 参数是一个包含一个或多个可执行语句的字符串表达式 。在[i]statement[/i] 参数中可以包含多条语句, 使用冒号将其分开。 [h3]说明[/h3]在 VBScript 中, [i]x = y[/i] 有两种解释方法。第一种方法是作为一条赋值语句, 将 [i]y[/i] 的值赋给 [i]x[/i]。第二种方法是作为一个表达式 ,用于测试 [i]x[/i] 和 [i]y[/i] 是否具有相同的值。如果它们相等,则结果为 [b]True[/b]; 如果他们不相等,其结果为 [b]False[/b].[b]ExecuteGlobal[/b] 语句总是使用第一种方法,而 [b]Eval[/b] 方法总是使用第二种方法。 [b]注意[/b]  在 Microsoft? Visual Basic Scripting Edition?中, 赋值与比较之间不存在混消,因为赋值运算符(=) 不同于比较运算符。 在脚本的全局名字空间中,[b]ExecuteGlobal[/b] 中的所有语句都有是可执行的。因此,允许您将代码添加到程序中,以便于任何 过程 能够对其进行访问。例如,一个 VBScript [b]Class[/b] 语句在运行时可以执行。随之函数创造此类的一个新实例。 在运行时添加过程和类是非常有用的,但是也可能导致在运行时覆盖已有的全局 变量 和函数。因为这可能导致非常严重的程序问题,因此,当使用 [b]ExecuteGlobal[/b] 语句时一定得非常谨慎。如果您无需访问过程之外的变量或函数,最好使用[b]Execute[/b] 语句,因为它只影响主调函数的名字空间。 下面的例子解释了 [b]ExecuteGlobal[/b] 语句的用法。
[code]Dim X         ' [/code]声明[code] X [/code]为全局变量。[code]X = "Global"      ' [/code]给全局变量[code] X [/code]赋值。[code]Sub Proc1   ' [/code]声明过程。[code]  Dim X      ' [/code]在局部变量中声明[code] X[/code]。[code]  X = "Local"   ' [/code]给局部变量[code] X [/code]赋值。         [code]' [/code]此处的可执行语句         [code]' [/code]创建一个过程[code], [/code]当被调用时[code], [/code]打印[code] X[/code]。         [code]' [/code]此处将打印全局变量[code] X [/code]的值,因为[code] Proc2[/code][code]         ' [/code]继承了全局变量中的一切。[code]  ExecuteGlobal "Sub Proc2: [/code]打印[code] X: End Sub"[/code][code]  Print Eval("X")   ' [/code]打印局部[code] X[/code]。[code]  Proc2      ' [/code]在全局作用区域中调用[code] Proc2 [/code][code]         ' [/code]将打印[code] "Global" [/code]。[code]End Sub[/code][code]Proc2         ' [/code]此行将导致错误[code] [/code][code]         ' [/code]因为[code] Proc2 [/code]在[code] Proc1 [/code]之外是不可用的。[code]Proc1         ' [/code]调用[code] Proc1[/code]。[code]  Execute "Sub Proc2: [/code]打印[code] X: End Sub"[/code][code]Proc2         ' [/code]此行调用成功,因为[code] Proc2[/code][code]         ' [/code]在全局作用区域中是可用的。
下面的例子演示了 [b]ExecuteGlobal[/b] 语句可以被重写,因此您无需将下面的整个过程都包括在引用标记之内。
[code]S = "Sub Proc2" & vbCrLfS = S & "  Print X" & vbCrLf S = S & "End Sub"ExecuteGlobal S[/code]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部