VBScript-funktioner och -procedurer med exempel
VBScript-procedurer
VBScript-procedurer används främst för kodorganisation och återanvändning. Vi har använt enkla exempel hittills eftersom syftet här är att lära sig VBScript. Men i verkliga scenarier är koden inte så enkel. När du försöker implementera något som är användbart kan koden bli mer komplex. Det kan finnas hundratals rader som sträcker sig över många sidor.
Om du inte organiserar koden ordentligt kommer hela processen med kodning, felsökning och hantering av koden att bli riktigt komplex. Så du bör organisera eller modularisera koden noggrant så att din kod blir lätthanterlig.
Anta dessutom att du har en uppsättning uttalanden som utför en viss åtgärd. Du vill att samma åtgärd ska upprepas flera gånger. Varför ska du då skriva samma kod om och om igen? Genom att använda effektiva tekniker kan du göra din kod återanvändbar. Detta kommer att hjälpa utvecklarna att organisera koden vackert och testarna att enkelt identifiera buggar. Kort sagt, kodmodularisering och återanvändning är mycket viktigt för att göra koden mer kraftfull, pålitlig och lättare att underhålla. Här kommer procedurer in i bilden.
Typer av procedurer i VBScript
En procedur är ett kodblock som helst utför en enda funktion. Ett kodblock som bearbetar en indata eller hanterar en fil är ett bra exempel på en funktion. Det finns två typer av procedurer i VBScript.
- Underprocedur: Underproceduren returnerar inget värde.
- Funktionsprocedur: Funktionsproceduren används om du vill returnera ett värde.
Underrutiner
Om du vill köra en serie satser utan att returnera något värde kan du använda underprocedurer.
Underprocedurer börjar och slutar med Sub- respektive End Sub-satser. Underprocedurer kan ta argument, men kan inte returnera ett värde. Underprocedurer kan ta input eller inte.
Sub outputMessage() document.write("Welcome") End Sub
Att bara skriva den här koden kommer inte att mata ut någonting. Här har du skapat en underprocedur som heter outputMessage. Därefter måste du ringa det.
anrop outputMessage()
Kombinera båda dessa uppsättningar koder inuti tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
Utdata från denna kod kommer att vara
VBScript-funktioner
Om du vill exekvera en serie satser och returnera ett värde, måste du använda funktionsprocedurer, allmänt känd som funktion.
Funktionsprocedurer börjar och slutar med funktions- respektive slutfunktionssatser.
En funktionsprocedur kan ta input eller inte.
Funktionsprocedurer returnerar ett värde genom att tilldela värdet till dess namn.
<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>
Utdata från denna kod kommer att vara
ByRef och ByVal parametrar
Du kan skicka VBScript-argument till procedurerna genom referens eller värde.
Om du inte anger något när du anropar en procedur, skickas argumentet/argumenten som standard som referens.
Om du ändrar argumenten för att kvarstå även efter att proceduren har anropats, måste du skicka VBScript-argumenten genom referens.
När ett argument skickas av värde, ändras alla ändringar som den anropade proceduren gör i värdet av variabel kvarstår inte efter att proceduren har anropats.
Nyckelorden ByRef och ByVal används för att skicka argument genom referens respektive värde.
För att förstå skillnaden, kör först koden nedan och se utdata.
Steg 1) Kopiera koden till din editor
<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>
Steg 2) utgången är 6.
Steg 3) Ändra funktion returnResult(ByRef value) till Function returnResult(ByVal value)
Steg 4) Nu blir din produktion 5.
Sammanfattning
- VBScript-procedurer används främst för bättre kodorganisation och återanvändning.
- Det finns två typer av VBS-procedurer: Underprocedurer och Funktionsprocedurer.
- Om du vill köra en serie satser utan att returnera något värde kan du använda underprocedurer.
- Om du vill köra en serie satser och returnera ett värde, måste du använda funktionsprocedurer.
- Du kan skicka argument till procedurerna genom referens eller värde. Argument skickas som referens som standard.
- Om du vill att ändringarna som skett med argumenten ska kvarstå även efter att proceduren har anropats, måste du skicka argumenten genom referens och annars efter värde.