欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片


Execute 語(yǔ)句

執(zhí)行一個(gè)或多個(gè)指定的語(yǔ)句。

Execute statements

所需要的 statements 參數(shù)是一個(gè)字符串表達(dá)式,其中包含一個(gè)或多個(gè)要執(zhí)行的語(yǔ)句。  如果要在 statements 參數(shù)中包含多條語(yǔ)句,應(yīng)使用分號(hào)或嵌入的分行將其分隔開(kāi)。

說(shuō)明

在 VBScript 中,x = y 可以有兩種解釋。首先是作為賦值語(yǔ)句,將 y 的值賦予 x。其次是作為表達(dá)式,測(cè)試xy 的值是否相等。如果相等,結(jié)果True;否則,結(jié)果False。Execute 語(yǔ)句總是使用第一種解釋?zhuān)?Eval 方法總是使用第二種。

注意  在 Microsoft(R) Visual Basic Scripting Edition 中并不存在賦值與比較之間的混淆,因?yàn)橘x值運(yùn)算符(=)與比較運(yùn)算符(==)是不同的。

調(diào)用 Execute 語(yǔ)句的上下文確定了要運(yùn)行的代碼可以使用的對(duì)象和變量。作用域內(nèi)的對(duì)象和變量是 Execute 語(yǔ)句中運(yùn)行的代碼可以使用的。不過(guò),必須明白的一點(diǎn)是,如果被執(zhí)行的代碼創(chuàng)建了過(guò)程,那么該過(guò)程將不會(huì)繼承它所在的過(guò)程的作用域。

與其他過(guò)程類(lèi)似,新的過(guò)程的作用域是全局的,它繼承了全局作用域的全部東西。與其他過(guò)程不同的是,它的上下文不是全局作用域,因此它只能在發(fā)生 Execute 語(yǔ)句的過(guò)程內(nèi)的上下文中執(zhí)行。不過(guò),如果相同的 Execute 語(yǔ)句是在過(guò)程之外(例如在全局作用域)的作用域中被調(diào)用,那么它將不僅繼承全局作用域中的所有東西,而且它還可以在任何地方被調(diào)用,因?yàn)樗纳舷挛氖侨值。下面的例子說(shuō)明了這種特點(diǎn):

Dim X            ' 在全局作用域中聲明 X。
X = "Global"         ' 將全局的 X 賦值。
Sub Proc1            ' 聲明過(guò)程。
  Dim X            ' 在局部作用域中聲明 X。
  X = "Local"         ' 對(duì)局部的 X 賦值。
            ' 此處的 Execute 語(yǔ)句建立了一個(gè)過(guò)程,
            ' 在調(diào)用該過(guò)程時(shí)它將打印 X。
            ' 它打印的將是全局 X,因?yàn)?CODE> Proc2
            ' 繼承了全局作用域中的一切。
  Execute "Sub Proc2: Print X: End Sub"
  Print Eval("X")      ' 打印本地 X。
  Proc2            '  Proc1 的作用域中調(diào)用 Proc2。
End Sub
Proc2            ' 本行將導(dǎo)致一個(gè)錯(cuò)誤,因?yàn)?
            ' Proc2  Proc1 之外是不可使用的。
Proc1            ' 調(diào)用 Proc1。
  Execute "Sub Proc2: Print X: End Sub"
Proc2            ' 這句話可以成功,因?yàn)?CODE> Proc2
            ' 現(xiàn)在是全局可用的。

下面的例子顯示了如何將 Execute 語(yǔ)句改寫(xiě),免于將整個(gè)過(guò)程包含在引號(hào)內(nèi):

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

要求

版本 1

請(qǐng)參閱

Eval 函數(shù) | ExecuteGlobal 語(yǔ)句