VBScript-functies en -procedures met voorbeeld

VBScript-procedures

VBScript-procedures worden voornamelijk gebruikt voor code-organisatie en hergebruik. Tot nu toe hebben we eenvoudige voorbeelden gebruikt, omdat het doel hier is om VBScript te leren. Maar in een real-world scenario is de code niet zo eenvoudig. Wanneer u iets probeert te implementeren dat nuttig is, kan de code complexer worden. Er kunnen honderden regels zijn die zich over meerdere pagina's uitstrekken.

Als u de code niet goed organiseert, wordt het hele proces van coderen, debuggen en beheren van de code erg complex. U moet de code dus zorgvuldig organiseren of modulariseren, zodat uw code gemakkelijk beheersbaar wordt.

Stel bovendien dat u een reeks instructies heeft die een bepaalde actie uitvoeren. U wilt dat dezelfde actie meerdere keren wordt herhaald. Waarom zou je dan steeds opnieuw dezelfde code schrijven? Door effectieve technieken te gebruiken, kunt u uw code herbruikbaar maken. Dit zal de ontwikkelaars helpen de code mooi te organiseren en de testers om bugs gemakkelijk te identificeren. Kortom, codemodularisatie en hergebruik zijn erg belangrijk om de code krachtiger, betrouwbaarder en gemakkelijker te onderhouden te maken. Hier komen procedures in beeld.

Soorten procedures in VBScript

Een procedure is een codeblok dat idealiter één enkele functie vervult. Een codeblok dat een invoer verwerkt of een bestand afhandelt, is een goed voorbeeld van een functie. Er zijn twee soorten procedures in VBScript.

  1. Subprocedure: De subprocedure retourneert geen waarde.
  2. Functieprocedure: De functieprocedure wordt gebruikt als u een waarde wilt retourneren.

Subprocedures

Als u een reeks instructies wilt uitvoeren zonder enige waarde terug te geven, kunt u subprocedures gebruiken.

Subprocedures beginnen en eindigen met respectievelijk Sub- en End Sub-instructies. Subprocedures kunnen argumenten aannemen, maar kunnen geen waarde retourneren. Subprocedures kunnen al dan niet input vergen.

Sub outputMessage()
document.write("Welcome")
End Sub

Alleen al het schrijven van deze code levert niets op. Hier hebt u een subprocedure gemaakt met de naam outputMessage. Vervolgens moet je het bellen.

bel uitvoerMessage()

Combineer beide sets codes binnenin tag like this.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

De uitvoer van deze code zal zijn

Subprocedures

VBScript-functies

Als u een reeks instructies wilt uitvoeren en een waarde wilt retourneren, moet u functieprocedures gebruiken, beter bekend als functie.

Functieprocedures beginnen en eindigen met respectievelijk Function- en End Function-instructies.

Een functieprocedure kan al dan niet invoer vereisen.

Functieprocedures retourneren een waarde door de waarde aan de naam toe te wijzen.

<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>

De uitvoer van deze code zal zijn

VBScript-functies

ByRef- en ByVal-parameters

U kunt VBScript-argumenten doorgeven aan de procedures via verwijzing of via waarde.

Als u niets opgeeft wanneer u een procedure aanroept, worden de argumenten/argumenten standaard door verwijzing doorgegeven.

Als u de wijzigingen in de argumenten wilt behouden, zelfs nadat de procedure is aangeroepen, moet u de VBScript-argumenten ter referentie doorgeven.

Wanneer een argument op waarde wordt doorgegeven, worden alle wijzigingen die de aangeroepen procedure aanbrengt in de waarde van de variabele blijven niet bestaan ​​nadat de procedure is aangeroepen.

De trefwoorden ByRef en ByVal worden gebruikt om argumenten respectievelijk door verwijzing en door waarde door te geven.

Om het verschil te begrijpen, voert u eerst de onderstaande code uit en bekijkt u de uitvoer.

Stap 1) Kopieer de code naar uw 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>

Stap 2) de uitvoer is 6.

Stap 3) Wijzig de functie returnResult(ByRef-waarde) in de functie returnResult(ByVal-waarde)

Stap 4) Nu is uw uitvoer 5.

Samenvatting

  • VBScript-procedures worden voornamelijk gebruikt voor een betere organisatie en hergebruik van code.
  • Er zijn twee soorten VBS-procedures: Subprocedures en Functieprocedures.
  • Als u een reeks instructies wilt uitvoeren zonder enige waarde terug te geven, kunt u subprocedures gebruiken.
  • Als u een reeks instructies wilt uitvoeren en een waarde wilt retourneren, moet u functieprocedures gebruiken.
  • U kunt argumenten aan de procedures doorgeven door verwijzing of door waarde. Argumenten worden standaard door verwijzing doorgegeven.
  • Als u wilt dat de wijzigingen die in de argumenten zijn aangebracht, ook na het aanroepen van de procedure behouden blijven, moet u de argumenten via referentie doorgeven en anders via waarde.