VBS教程:VBScript 基礎(chǔ)-VBScript 變量
VBScript 變量
變量是一種使用方便的占位符,用于引用計(jì)算機(jī)內(nèi)存地址,該地址可以存儲(chǔ)腳本運(yùn)行時(shí)可更改的程序信息。例如,可以創(chuàng)建一個(gè)名為 ClickCount 的變量來(lái)存儲(chǔ)用戶單擊 Web 頁(yè)面上某個(gè)對(duì)象的次數(shù)。使用變量并不需要了解變量在計(jì)算機(jī)內(nèi)存中的地址,只要通過(guò)變量名引用變量就可以查看或更改變量的值。在 VBScript 中只有一個(gè)基本數(shù)據(jù)類型,即 Variant,因此所有變量的數(shù)據(jù)類型都是 Variant。
聲明變量
聲明變量的一種方式是使用 Dim 語(yǔ)句、Public 語(yǔ)句和 Private 語(yǔ)句在腳本中顯式聲明變量。例如:
Dim DegreesFahrenheit
聲明多個(gè)變量時(shí),使用逗號(hào)分隔變量。例如:
Dim Top, Bottom, Left, Right
另一種方式是通過(guò)直接在腳本中使用變量名這一簡(jiǎn)單方式隱式聲明變量。這通常不是一個(gè)好習(xí)慣,因?yàn)檫@樣有時(shí)會(huì)由于變量名被拼錯(cuò)而導(dǎo)致在運(yùn)行腳本時(shí)出現(xiàn)意外的結(jié)果。因此,最好使用 Option Explicit 語(yǔ)句顯式聲明所有變量,并將其作為腳本的第一條語(yǔ)句。
命名規(guī)則
變量命名必須遵循 VBScript 的標(biāo)準(zhǔn)命名規(guī)則。變量命名必須遵循:
- 第一個(gè)字符必須是字母。
- 不能包含嵌入的句點(diǎn)。
- 長(zhǎng)度不能超過(guò) 255 個(gè)字符。
- 在被聲明的作用域內(nèi)必須唯一。
變量的作用域與存活期
變量的作用域由聲明它的位置決定。如果在過(guò)程中聲明變量,則只有該過(guò)程中的代碼可以訪問(wèn)或更改變量值,此時(shí)變量具有局部作用域并被稱為過(guò)程級(jí)變量。如果在過(guò)程之外聲明變量,則該變量可以被腳本中所有過(guò)程所識(shí)別,稱為 Script 級(jí)變量,具有腳本級(jí)作用域。
變量存在的時(shí)間稱為存活期。Script 級(jí)變量的存活期從被聲明的一刻起,直到腳本運(yùn)行結(jié)束。對(duì)于過(guò)程級(jí)變量,其存活期僅是該過(guò)程運(yùn)行的時(shí)間,該過(guò)程結(jié)束后,變量隨之消失。在執(zhí)行過(guò)程時(shí),局部變量是理想的臨時(shí)存儲(chǔ)空間。可以在不同過(guò)程中使用同名的局部變量,這是因?yàn)槊總€(gè)局部變量只被聲明它的過(guò)程識(shí)別。
給變量賦值
創(chuàng)建如下形式的表達(dá)式給變量賦值:變量在表達(dá)式左邊,要賦的值在表達(dá)式右邊。例如:
B = 200
標(biāo)量變量和數(shù)組變量
多數(shù)情況下,只需為聲明的變量賦一個(gè)值。只包含一個(gè)值的變量被稱為標(biāo)量變量。有時(shí)候,將多個(gè)相關(guān)值賦給一個(gè)變量更為方便,因此可以創(chuàng)建包含一系列值的變量,稱為數(shù)組變量。數(shù)組變量和標(biāo)量變量是以相同的方式聲明的,唯一的區(qū)別是聲明數(shù)組變量時(shí)變量名后面帶有括號(hào) ( )。下例聲明了一個(gè)包含 11 個(gè)元素的一維數(shù)組:
Dim A(10)
雖然括號(hào)中顯示的數(shù)字是 10,但由于在 VBScript 中所有數(shù)組都是基于 0 的,所以這個(gè)數(shù)組實(shí)際上包含 11 個(gè)元素。在基于 0 的數(shù)組中,數(shù)組元素的數(shù)目總是括號(hào)中顯示的數(shù)目加 1。這種數(shù)組被稱為固定大小的數(shù)組。
在數(shù)組中使用索引為數(shù)組的每個(gè)元素賦值。從 0 到 10,將數(shù)據(jù)賦給數(shù)組的元素,如下所示:
A(0) = 256
A(1) = 324
A(2) = 100
. . .
A(10) = 55
與此類似,使用索引可以檢索到所需的數(shù)組元素的數(shù)據(jù)。例如:
. . .
SomeVariable = A(8)
. . .
數(shù)組并不僅限于一維。數(shù)組的維數(shù)最大可以為 60(盡管大多數(shù)人不能理解超過(guò) 3 或 4 的維數(shù))。聲明多維數(shù)組時(shí)用逗號(hào)分隔括號(hào)中每個(gè)表示數(shù)組大小的數(shù)字。在下例中,MyTable 變量是一個(gè)有 6 行和 11 列的二維數(shù)組:
Dim MyTable(5, 10)
在二維數(shù)組中,括號(hào)中第一個(gè)數(shù)字表示行的數(shù)目,第二個(gè)數(shù)字表示列的數(shù)目。
也可以聲明動(dòng)態(tài)數(shù)組,即在運(yùn)行腳本時(shí)大小發(fā)生變化的數(shù)組。對(duì)數(shù)組的最初聲明使用 Dim 語(yǔ)句或 ReDim 語(yǔ)句。但是對(duì)于動(dòng)態(tài)數(shù)組,括號(hào)中不包含任何數(shù)字。例如:
Dim MyArray()
ReDim AnotherArray()
要使用動(dòng)態(tài)數(shù)組,必須隨后使用 ReDim 確定維數(shù)和每一維的大小。在下例中,ReDim 將動(dòng)態(tài)數(shù)組的初始大小設(shè)置為 25,而后面的 ReDim 語(yǔ)句將數(shù)組的大小重新調(diào)整為 30,同時(shí)使用 Preserve 關(guān)鍵字在重新調(diào)整大小時(shí)保留數(shù)組的內(nèi)容。
ReDim MyArray(25)
. . .
ReDim Preserve MyArray(30)
重新調(diào)整動(dòng)態(tài)數(shù)組大小的次數(shù)是沒(méi)有任何限制的,將數(shù)組的大小調(diào)小時(shí),將會(huì)丟失被刪除元素的數(shù)據(jù)。
上一篇:RCMD使用說(shuō)明
欄 目:vb
下一篇:遠(yuǎn)程啟動(dòng)終端服務(wù)的windows腳本ROTS.vbs
本文標(biāo)題:VBS教程:VBScript 基礎(chǔ)-VBScript 變量
本文地址:http://mengdiqiu.com.cn/a1/vb/8016.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語(yǔ)句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁(yè)面中添加VBscript代碼


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開(kāi)原生自帶讀寫NTFS功能(圖文
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改