VBScript-funksjoner og -prosedyrer med eksempel
โก Smart oppsummering
VBScript-funksjoner og -prosedyrer organiserer kode i gjenbrukbare blokker. En subprosedyre kjรธrer setninger uten รฅ returnere en verdi, mens en funksjonsprosedyre returnerer en verdi ved รฅ tilordne den til funksjonsnavnet, og argumenter sendes ved hjelp av ByRef eller ByVal.

VBScript-prosedyrer
VBScript-prosedyrer brukes hovedsakelig for kodeorganisering og gjenbruk. Vi har brukt enkle eksempler til nรฅ da formรฅlet her er รฅ lรฆre VBScript. Men i virkelige scenarier er ikke koden sรฅ enkel som det. Nรฅr du prรธver รฅ implementere noe som er nyttig, kan koden bli mer kompleks. Det kan vรฆre hundrevis av linjer som strekker seg over mange sider.
Hvis du ikke organiserer koden riktig, vil hele prosessen med koding, feilsรธking og administrasjon av koden bli veldig kompleks. Sรฅ du bรธr organisere eller modularisere koden nรธye slik at koden din blir lett hรฅndterbar.
Anta dessuten at du har et sett med utsagn som utfรธrer en bestemt handling. Du vil at den samme handlingen skal gjentas flere ganger. Sรฅ hvorfor skal du skrive den samme koden igjen og igjen? Ved รฅ bruke effektive teknikker kan du gjรธre koden gjenbrukbar. Dette vil hjelpe utviklerne til รฅ organisere koden vakkert og testerne til รฅ identifisere feil enkelt. Kort sagt, kodemodularisering og gjenbruk er svรฆrt viktig for รฅ gjรธre koden kraftigere, pรฅliteligere og enklere รฅ vedlikeholde. Her kommer prosedyrer inn i bildet.
Typer prosedyrer i VBScript
En prosedyre er en kodeblokk som ideelt sett utfรธrer en enkelt funksjon. En kodeblokk som behandler en inndata eller hรฅndterer en fil er et godt eksempel pรฅ en funksjon. Det er to typer prosedyrer i VBScript.
- Underprosedyre: Underprosedyren returnerer ikke en verdi.
- Funksjonsprosedyre: Funksjonsprosedyren brukes hvis du รธnsker รฅ returnere en verdi.
Underprosedyrer
Hvis du รธnsker รฅ utfรธre en serie setninger uten รฅ returnere noen verdi, kan du bruke underprosedyrer.
Underprosedyrer starter og slutter med henholdsvis under- og sluttundersetninger. Underprosedyrer kan ta argumenter, men kan ikke returnere en verdi. Underprosedyrer kan ta innspill eller ikke.
Sub outputMessage() document.write("Welcome") End Sub
Bare det รฅ skrive denne koden vil ikke sende ut noe. Her har du laget en underprosedyre kalt outputMessage. Deretter mรฅ du ringe det.
anrop outputMessage()
Kombiner begge disse settene med koder inni tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
Utgangen av denne koden vil vรฆre
VBScript-funksjoner
Hvis du vil utfรธre en serie setninger og returnere en verdi, mรฅ du bruke funksjonsprosedyrer, vanligvis kjent som funksjon.
Funksjonsprosedyrer starter og slutter med henholdsvis funksjon og sluttfunksjon.
En funksjonsprosedyre kan ta innspill eller ikke.
Funksjonsprosedyrer returnerer en verdi ved รฅ tilordne verdien til navnet.
<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>
Utgangen av denne koden vil vรฆre
ByRef og ByVal parametere
Du kan sende VBScript-argumenter til prosedyrene ved referanse eller etter verdi.
Hvis du ikke spesifiserer noe nรฅr du kaller en prosedyre, sendes argumentet/argumentene som referanse som standard.
Hvis endringene som er gjort i argumentene vedvarer selv etter at prosedyren er kalt, mรฅ du sende VBScript-argumentene ved referanse.
Nรฅr et argument sendes av verdi, vil eventuelle endringer som den kalte prosedyren gjรธr i verdien av variabel ikke vedvare etter at prosedyren er kalt.
Nรธkkelordene ByRef og ByVal brukes til รฅ sende argumenter ved henholdsvis referanse og verdi.
For รฅ forstรฅ forskjellen, kjรธr fรธrst koden nedenfor og se utdataene.
Trinn 1) Kopier koden til redigeringsprogrammet ditt
<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>
Trinn 2) utgangen er 6.
Trinn 3) Endre funksjon returnResult(ByRef-verdi) til Function returnResult(ByVal-verdi)
Trinn 4) Nรฅ vil utgangen din vรฆre 5.
