一、申明變量
① 顯式聲明:Dim、Public、Private語(yǔ)句進(jìn)行聲明
② 隱式聲明:不聲明直接使用
③ 強(qiáng)制聲明:Option Explicit語(yǔ)句強(qiáng)制顯式聲明所有變量
dim name,age
name="Ethon"
age=27
msgbox name age
'name="Ethon" : age=27 對(duì)多個(gè)變量賦值
注意:在VBScript中對(duì)變量、方法、函數(shù)和對(duì)象的引用是不區(qū)分大小寫(xiě)
'隱式申明
hello="ABC123"
msgbox hello
二、變量作用域
在VBScript中有三種變量作用域:
① 腳本級(jí)作用域
變量在整個(gè)腳本文件中都是有效的。聲明的變量的作用域就是整個(gè)腳本。
② 過(guò)程級(jí)作用域
變量在過(guò)程或函數(shù)中有效。過(guò)程、函數(shù)之外的其它代碼都不能訪問(wèn)過(guò)程級(jí)變量。
③類(lèi)級(jí)作用域
這是一種包含屬性和方法的邏輯分組的特殊結(jié)構(gòu)。類(lèi)定義之外的代碼都不能訪問(wèn)類(lèi)級(jí)變量。
有三種語(yǔ)句可以用于聲明變量:Dim、Private、Public
在不同的情況使用不同的語(yǔ)句聲明變量,具體取決于變量的作用域:
① Dim:用于聲明腳本、過(guò)程、類(lèi)級(jí)作用域的變量
1)所有被聲明為腳本級(jí)的變量在整個(gè)腳本文件中有效,無(wú)論使用的是Dim、Private還是Public;
2)用于過(guò)程變量,必須使用Dim;
3)用于類(lèi)級(jí)的變量,Dim的效果跟Public是完全相同的;
② Private:用于聲明腳本、類(lèi)級(jí)作用域使用Private語(yǔ)句
1)如果用于腳本級(jí)變量,它的作用跟Dim和Public是完全相同的;
2)為了聲明一個(gè)私有的類(lèi)級(jí)變量,必須要用Private;
③ Public:用于聲明腳本、類(lèi)級(jí)作用域
1)聲明腳本級(jí)作用域的變量,在效果上它跟Dim或Private是一樣的;
2)聲明的類(lèi)級(jí)變量就是這個(gè)類(lèi)的公共屬性。所有在類(lèi)級(jí)用Dim或Public聲明的變量在整個(gè)類(lèi)中都是一個(gè)有效的公共屬性。
如何正確聲明變量
1)在過(guò)程中用Dim聲明的變量對(duì)于那個(gè)過(guò)程是局部變量
在腳本級(jí)用Dim聲明變量,Dim是聲明變量的全功能關(guān)鍵字。
在不以類(lèi)為基礎(chǔ)的腳本或是不作為Windows腳本構(gòu)件的腳本中,Private和Public的效果跟Dim沒(méi)有區(qū)別。
2)如果您愿意,可以在腳本中用Private(代替Dim)聲明整個(gè)腳本中都有效的變量。
在類(lèi)中聲明只屬于類(lèi)的變量時(shí),Private的使用就變得更重要了。
Public只用于聲明類(lèi)的公共屬性,也可以考慮用Private變量配合Property Let、Set和Get過(guò)程。盡管在類(lèi)中Dim與Public的效果完全相同,但還是偏向于不在類(lèi)中使用Dim。