VBScript funkciók és eljárások példával
VBScript eljárások
A VBScript eljárásokat főként kódszervezésre és újrafelhasználásra használják. Mostanáig egyszerű példákat használtunk, mivel itt a VBScript tanulása a cél. De a valós világban a kód nem ilyen egyszerű. Ha valami hasznosat próbál megvalósítani, a kód bonyolultabbá válhat. Lehet, hogy több száz sor húzódik sok oldalon.
Ha nem rendezi megfelelően a kódot, akkor a kódolás, hibakeresés és a kód kezelésének teljes folyamata nagyon bonyolulttá válik. Tehát gondosan kell rendszerezni vagy modularizálni a kódot, hogy a kód könnyen kezelhető legyen.
Sőt, tegyük fel, hogy van egy utasításkészlete, amely egy adott műveletet hajt végre. Azt szeretné, ha ugyanaz a művelet többször megismétlődne. Akkor miért kell újra és újra ugyanazt a kódot írni? Hatékony technikák használatával újrafelhasználhatóvá teheti kódját. Ez segít a fejlesztőknek a kód gyönyörű rendezésében, a tesztelőknek pedig a hibák egyszerű azonosításában. Röviden, a kód modularizálása és újrafelhasználása nagyon fontos a kód hatékonyabbá, megbízhatóbbá és könnyebben karbantarthatóbbá tételéhez. Itt jönnek képbe az eljárások.
Eljárások típusai a VBScriptben
Az eljárás egy kódblokk, amely ideális esetben egyetlen funkciót hajt végre. Egy bemenetet feldolgozó vagy fájlt kezelő kódblokk jó példa a függvényre. Kétféle eljárás létezik vbscript.
- Aleljárás: Az aleljárás nem ad vissza értéket.
- Függvényeljárás: A függvényeljárást akkor használjuk, ha értéket szeretnénk visszaadni.
Aleljárások
Ha utasítássorozatot szeretne végrehajtani anélkül, hogy bármilyen értéket adna vissza, használhat aleljárásokat.
Az aleljárások Sub és End Sub utasításokkal kezdődnek és végződnek. Az aleljárások vehetnek fel argumentumokat, de nem adhatnak vissza értéket. Az aleljárások fogadhatnak, vagy nem.
Sub outputMessage() document.write("Welcome") End Sub
Ennek a kódnak a megírása nem ad ki semmit. Itt egy outputMessage nevű aleljárást hozott létre. Ezután fel kell hívnia.
hívás outputMessage()
Kombinálja mindkét kódkészletet belül tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
Ennek a kódnak a kimenete lesz
VBScript függvények
Ha utasítássorozatot szeretne végrehajtani, és egy értéket szeretne visszaadni, akkor függvényeljárásokat kell használnia, más néven függvény.
A függvényeljárások a Function és End Function utasításokkal kezdődnek és végződnek.
Egy függvényeljárás fogadhat bemenetet vagy nem.
A függvényeljárások úgy adnak vissza értéket, hogy az értéket a nevéhez rendelik.
<script type="text/vbscript"> Function findArea(radius) const pi=3.14 area = pi*radius*radius findArea = area End Function document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>") document.write("The area of the circle when the radius is 10 is " & findArea(10)) </script>
Ennek a kódnak a kimenete lesz
ByRef és ByVal paraméterek
A VBScript argumentumokat hivatkozás vagy érték alapján adhatja át az eljárásoknak.
Ha nem ad meg semmit az eljárás meghívásakor, akkor az argumentum/argumentumok alapértelmezés szerint hivatkozással kerülnek átadásra.
Ha az argumentumokban végrehajtott módosítások az eljárás meghívása után is fennmaradnak, akkor a VBScript argumentumokat hivatkozással kell átadnia.
Ha egy argumentumot értékkel adunk át, akkor a meghívott eljárás által végrehajtott változtatások a változó ne tartsa fenn az eljárás kihívása után.
A ByRef és ByVal kulcsszavak az argumentumok hivatkozás és érték szerinti átadására szolgálnak.
A különbség megértéséhez először futtassa az alábbi kódot, és nézze meg a kimenetet.
Step 1) Másolja be a kódot a szerkesztőbe
<script type="text/vbscript"> Function returnResult(ByRef value) value = value +1 returnResult = value End Function Dim x x=5 call returnResult(x) document.write(x) </script>
Step 2) a kimenet 6.
Step 3) A függvény returnResult(ByRef érték) módosítása Function returnResult(ByVal érték) értékre
Step 4) Most a kimeneted 5 lesz.
Összegzésként
- A VBScript eljárásokat főként a jobb kódszervezés és újrafelhasználás érdekében használják.
- Kétféle VBS-eljárás létezik: Aleljárások és Funkcióeljárások.
- Ha utasítássorozatot szeretne végrehajtani anélkül, hogy bármilyen értéket adna vissza, használhat aleljárásokat.
- Ha utasítássorozatot szeretne végrehajtani, és egy értéket szeretne visszaadni, akkor függvényeljárásokat kell használnia.
- Az argumentumokat hivatkozás vagy érték alapján adhatja át az eljárásoknak. Az argumentumok alapértelmezés szerint hivatkozással kerülnek átadásra.
- Ha azt szeretné, hogy az argumentumokban történt változtatások az eljárás meghívása után is fennmaradjanak, akkor az argumentumokat hivatkozással, egyébként pedig értékkel kell átadni.