本篇內容介紹了“VBS中Function語句的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
聲明 Function 過程的名稱、參數以及構成其主體的代碼。
[Public [Default]| Private] Function name [(
arglist
)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function
Public
表示 Function 過程可被所有腳本中的所有其他過程訪問。
Default
只與 Class 塊中的 Public 關鍵字一起使用 來表示 Function 過程是類的默認方法。如果在一個類中指定了不止一個 Default 過程,就有錯誤發生。
Private
表示 Function 過程只可被聲明它的腳本中的其他過程訪問或者如果函數是一個數據類,那么 Function 過程只能被該類中的其他過程訪問。
name
Function 的名稱,遵循標準的變量命名約定。
arglist
代表調用時要傳遞給 Function 過程的參數的變量列表。用逗號隔開多個變量。
statements
在 Function 過程的主體中執行的任意語句組。
expression
Function 的返回值。
arglist 參數包含下列語法和部分:
[ByVal | ByRef] varname[( )]
ByVal
表示該參數是按值方式傳遞的。
ByRef
表示該參數按引用方式傳遞。
varname
代表參數變量的名稱;遵循標準的變量命名約定。
如沒有顯式指定使用 Public或 Private,則 Function 過程默認為公用,即它們對于腳本中的所有其他過程是可見的。Function 中局部變量的值在對 過程的調用中不被保留。
不能在任何其他過程(例如,Sub 或 Property Get)中定義 Function 過程。
使用 Exit Function 語句可以從 Function 過程中立即退出。程序繼續執行調用 Function 過程的語句之后的語句??稍?Function 過程的任何位置出現任意個 Exit Function 語句。
與 Sub 過程類似,Function 過程是可以獲取參數、執行一系列語句并改變其參數值的獨立過程。與 Sub 過程的不同之處是:當要使用由函數返回的值時,可以在 表達式的右邊使用 Function 過程,這與內部函數的使用方式一樣,例如 Sqr、Cos 或 Chr。
在表達式中,可以通過使用函數名,并在其后用圓括號給出相應的參數列表來調用 Function 過程。有關調用 Function 過程的詳細信息,請參閱 Call 語句。
小心 Function 過程可以是遞歸的,即該過程可以調用自身以完成某個給定的任務。但是,遞歸可能會導致堆棧溢出。
要從函數返回一個值,只需將值賦給函數名。在過程的任意位置都可以出現任意個這樣的賦值。如果沒有給 name 賦值, 則過程將返回一個默認值:數值函數返回 0,字符串函數返回零長度字符串 ("")。如果在 Function 中沒有對象引用被指定給 name(使用 Set),則返回對象引用的函數將返回 Nothing。
下面的樣例說明如何給一個名為 BinarySearch 的函數賦返回值。在此樣例中,將 False 賦給了該函數名,表示沒有找到某個值。
Function BinarySearch(. . .) . . . ' 未找到該值。返回 False 值。 If lower > upper Then BinarySearch = False Exit Function End If . . .End Function
在 Function 過程中使用的變量分為兩類:一類是在過程內顯式聲明的,另一類則不是。在過程內顯式聲明的變量(使用 Dim 或等效方法)總是過程的局部變量。被使用但沒有在過程中顯式聲明的變量也是局部變量,除非在該過程外更高級別的位置顯式聲明它們。
小心 Function 過程可以是遞歸的,即該過程可以調用自身以完成某個給定的任務。但是,遞歸可能會導致堆棧溢出。
小心 VBScript 可能會重新排列數學表達式以提高內部效率。當 Function 過程修改數學表達式中變量的值時,應避免在同一表達式中使用該函數。
“VBS中Function語句的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。