Funkce a procedury VBScript s příkladem

Postupy VBScript

Procedury VBScript se používají hlavně pro organizaci kódu a opětovné použití. Doposud jsme používali jednoduché příklady, protože zde je účelem naučit se VBScript. Ale ve scénáři reálného světa není kód tak jednoduchý. Když se pokusíte implementovat něco, co je užitečné, kód může být složitější. Na mnoha stránkách mohou být stovky řádků.

Pokud kód správně neorganizujete, celý proces kódování, ladění a správy kódu se stane opravdu složitým. Proto byste měli kód uspořádat nebo modularizovat pečlivě, aby se váš kód stal snadno spravovatelným.

Kromě toho předpokládejme, že máte sadu příkazů, které provádějí konkrétní akci. Chcete, aby se stejná akce opakovala několikrát. Proč byste tedy měli psát stejný kód znovu a znovu? Pomocí účinných technik můžete svůj kód znovu použít. To pomůže vývojářům krásně organizovat kód a testerům snadno identifikovat chyby. Stručně řečeno, modularizace a opětovné použití kódu je velmi důležité pro zvýšení výkonu, spolehlivosti a snadnější údržby kódu. Zde jsou postupy do obrázku.

Typy procedur ve VBScriptu

Procedura je blok kódu, který v ideálním případě vykonává jednu funkci. Blok kódu, který zpracovává vstup nebo zpracovává soubor, je dobrým příkladem funkce. Existují dva typy procedur VBScript.

  1. Dílčí procedura: Dílčí procedura nevrací hodnotu.
  2. Funkční procedura: Funkční procedura se používá, pokud chcete vrátit hodnotu.

Podprocedury

Pokud chcete provést řadu příkazů bez vrácení jakékoli hodnoty, můžete použít dílčí procedury.

Procedury Sub začínají a končí příkazy Sub a End Sub. Dílčí procedury mohou přijímat argumenty, ale nemohou vracet hodnotu. Dílčí procedury mohou nebo nemusí přijímat vstup.

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

Pouhým zápisem tohoto kódu se nic nevypíše. Zde jste vytvořili proceduru Sub s názvem outputMessage. Dále to musíte zavolat.

volání outputMessage()

Kombinujte obě tyto sady kódů uvnitř tag like this.

<script type="text/vbscript">

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

Výstupem tohoto kódu bude

Podprocedury

Funkce VBScript

Pokud chcete provést řadu příkazů a vrátit hodnotu, musíte použít funkční procedury, běžně známé jako funkce.

Funkční procedury začínají a končí příkazy Function a End Function.

Funkční procedura může nebo nemusí mít vstup.

Funkční procedury vracejí hodnotu přiřazením hodnoty k jejímu názvu.

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

Výstupem tohoto kódu bude

Funkce VBScript

Parametry ByRef a ByVal

Argumenty jazyka VBScript můžete procedurám předat odkazem nebo hodnotou.

Pokud při volání procedury nic neurčíte, pak jsou argumenty/argumenty standardně předány odkazem.

Pokud změny provedené v argumentech přetrvávají i po zavolání procedury, musíte argumenty VBScript předat odkazem.

Když je argument předán hodnotou, všechny změny, které volaná procedura provede, v hodnotě proměnlivý po vyvolání procedury nepřetrvávejte.

Klíčová slova ByRef a ByVal se používají k předávání argumentů odkazem a hodnotou.

Abyste pochopili rozdíl, nejprve spusťte níže uvedený kód a podívejte se na výstup.

Krok 1) Zkopírujte kód do svého editoru

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

Krok 2) výstup je 6.

Krok 3) Změňte Function returnResult(ByRef value) na Function returnResult(ByVal value)

Krok 4) Nyní bude váš výstup 5.

Shrnutí

  • Procedury VBScript se používají hlavně pro lepší organizaci kódu a opětovné použití.
  • Existují dva typy procedur VBS: Podprocedury a Funkční procedury.
  • Pokud chcete provést řadu příkazů bez vrácení jakékoli hodnoty, můžete použít dílčí procedury.
  • Pokud chcete provést řadu příkazů a vrátit hodnotu, musíte použít funkční procedury.
  • Argumenty můžete procedurám předávat odkazem nebo hodnotou. Argumenty jsou standardně předávány odkazem.
  • Pokud chcete, aby změny provedené v argumentech přetrvaly i po zavolání procedury, musíte argumenty předat odkazem a jinak hodnotou.