当前位置: 移动技术网 > IT编程>脚本编程>VBScript > VBS教程:VBscript语句-Execute 语句

VBS教程:VBscript语句-Execute 语句

2017年12月12日  | 移动技术网IT编程  | 我要评论

我的皇后19楼,翡翠匣传奇,官途:春色撩人

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            ' 在全局作用域中声明 x。x = "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 的作用域中调用 proc2。end 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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网