在vbs腳本中也存在和其餘編程語言同樣的概念,那就是變量的做用域,變量的做用域決html
定在什麼範圍內能夠訪問。編程
一樣的在vbs腳本中對於變量也有一個生命週期, 變量的生命週期決定了變量的存續時間編程語言
這個主要是對於類的實例化對象有意義。函數
vbs的函數和過程對參數變量進行讀寫的時候,在利用byVal和byRef的行爲是不一樣的。spa
具體很少說,看代碼。指針
1、代碼code
' vbs變量的做用域和生命週期 ' 做用域 '一、vbs的變量有三種做用域: 腳本級做用域、過程級做用域、類級做用域 '二、vbs變量的做用域與三個關鍵字有關: Dim、Private、Public '三、通常Private、Public用在類中, dim用在腳本級和過程級中 '四、關於Private和Public在後面類中進行描述 Option Explicit '定義腳本級變量 '腳本級變量在整個腳本均可用 Dim strUserName strUserName = "volcanol" '調用方法訪問腳本級變量, DisplayGlobalVarible DisplayUserName Sub DisplayUserName() '定義過程級變量,且這個變量與外面的變量同名, '所以這個變量就將 Dim strUserName strUserName = InputBox("輸入名字") MsgBox strUserName End Sub Sub DisplayGlobalVarible() '訪問全局變量 MsgBox strUserName End Sub '變量的生命週期 '一、腳本級的變量的生命週期是腳本運行的整個期間 '二、過程或者函數級變量的生命週期是函數、過程調用的整個期間 '三、類級的變量生命週期是類的對象存續的期間 '具體這個就不說了, 慢慢體會吧 '函數、過程調用的傳值byval和傳址byref ' '一、byval 就和C語言中的普通參數同樣,對原參數不會進行修改 '二、byref 就和C語言中的指針參數同樣,能夠對原參數進行修改, ' 固然,若是byref不進行賦值操做的話,也不會進行修改 Dim lngByVal Dim lngByRef lngByVal = 10 lngByRef = 20 '調用傳值參數,不改變原來的參數 subByVal lngByVal '調用傳址參數,改變原來的值 subByref lngByRef MsgBox lngByVal & vbNewLine & lngByRef '說明一點, 對於傳址調用的檢查不能保證100%的有效果 '這裏,按照正經常使用法,應該傳遞變量 subByRef 10 '傳值參數 Sub subByVal(byval lngPar) lngpar = lngpar + 100 End Sub '傳址參數 Sub subByRef(byref lngPar) lngpar = lngpar + 200 End Sub
2、Tipshtm
一、變量的做用域越大,引發的bug的可能性越大,所以最好不要輕易修改腳本級的變量。對象
二、傳值、傳址這個須要注意,通常狀況下最好用傳值blog
三、若是一個函數或者過程只須要返回一個值,那麼就用函數返回至,而不要用過程使用
ByRef的方式來返回值。
--------------------------------------------------------------分割線---------------------------------------------------------------
一、文章均爲我的原創,歡迎轉載,轉載請保留出處:https://www.cnblogs.com/volcanol/
二、獲取工控PLC、變頻器、HMI、計算機、Windows、Linux、嵌入式資料點擊:獲取資料
三、若是您以爲文章對您有幫助可轉至頁面上半部分打賞,或移步:打賞
四、或者在頁面右下角點推薦喲!!!
--------------------------------------------------------------分割線---------------------------------------------------------------