VBS教程:VBscript語句-ExecuteGlobal 語句
ExecuteGlobal 語句
執(zhí)行一個功多個在腳本全局名字空間中指定的語句。
ExecuteGlobal statement
statement 參數(shù)是一個包含一個或多個可執(zhí)行語句的字符串表達式 。在statement 參數(shù)中可以包含多條語句, 使用冒號將其分開。
說明
在 VBScript 中, x = y 有兩種解釋方法。第一種方法是作為一條賦值語句, 將 y 的值賦給 x。第二種方法是作為一個表達式 ,用于測試 x 和 y 是否具有相同的值。如果它們相等,則結(jié)果為 True; 如果他們不相等,其結(jié)果為 False.ExecuteGlobal 語句總是使用第一種方法,而 Eval 方法總是使用第二種方法。
注意 在 Microsoft? Visual Basic Scripting Edition?中, 賦值與比較之間不存在混消,因為賦值運算符(=) 不同于比較運算符。
在腳本的全局名字空間中,ExecuteGlobal 中的所有語句都有是可執(zhí)行的。因此,允許您將代碼添加到程序中,以便于任何 過程 能夠?qū)ζ溥M行訪問。例如,一個 VBScript Class 語句在運行時可以執(zhí)行。隨之函數(shù)創(chuàng)造此類的一個新實例。
在運行時添加過程和類是非常有用的,但是也可能導(dǎo)致在運行時覆蓋已有的全局 變量 和函數(shù)。因為這可能導(dǎo)致非常嚴重的程序問題,因此,當使用 ExecuteGlobal 語句時一定得非常謹慎。如果您無需訪問過程之外的變量或函數(shù),最好使用Execute 語句,因為它只影響主調(diào)函數(shù)的名字空間。
下面的例子解釋了 ExecuteGlobal 語句的用法。
Dim X '
聲明X
為全局變量。X = "Global" '
給全局變量X
賦值。Sub Proc1 '
聲明過程。Dim X '
在局部變量中聲明X
。X = "Local" '
給局部變量X
賦值。'
此處的可執(zhí)行語句'
創(chuàng)建一個過程,
當被調(diào)用時,
打印X
。'
此處將打印全局變量X
的值,因為Proc2
'
繼承了全局變量中的一切。ExecuteGlobal "Sub Proc2:
打印X: End Sub"
Print Eval("X") '
打印局部X
。Proc2 '
在全局作用區(qū)域中調(diào)用Proc2
'
將打印"Global"
。End Sub
Proc2 '
此行將導(dǎo)致錯誤
'
因為Proc2
在Proc1
之外是不可用的。Proc1 '
調(diào)用Proc1
。Execute "Sub Proc2:
打印X: End Sub"
Proc2 '
此行調(diào)用成功,因為Proc2
'
在全局作用區(qū)域中是可用的。
下面的例子演示了 ExecuteGlobal 語句可以被重寫,因此您無需將下面的整個過程都包括在引用標記之內(nèi)。
S = "Sub Proc2" & vbCrLfS = S & " Print X" & vbCrLf S = S & "End Sub"ExecuteGlobal S
相關(guān)文章
使用vbscript生成36進制自動增長序號的實現(xiàn)代碼
這篇文章主要介紹了使用vbscript生成36進制自動增長序號的實現(xiàn)代碼,本文代碼也可以在ASP中使用,需要的朋友可以參考下2014-08-08