Funkcje i procedury VBScript z przykładem

Procedury VBScript

Procedury VBScript są używane głównie do organizacji kodu i ponownego użycia. Do tej pory używaliśmy prostych przykładów, ponieważ celem jest nauka VBScript. Jednak w scenariuszu rzeczywistym kod nie jest tak prosty. Kiedy próbujesz zaimplementować coś użytecznego, kod może stać się bardziej złożony. Mogą być setki linii rozciągających się na wiele stron.

Jeśli nie zorganizujesz kodu prawidłowo, cały proces kodowania, debugowania i zarządzania kodem stanie się naprawdę skomplikowany. Dlatego powinieneś starannie zorganizować lub zmodularyzować kod, aby stał się łatwy w zarządzaniu.

Załóżmy ponadto, że masz zestaw instrukcji wykonujących określoną akcję. Chcesz, aby ta sama akcja została powtórzona kilka razy. W takim razie po co ciągle pisać ten sam kod? Stosując skuteczne techniki, możesz sprawić, że Twój kod będzie nadawał się do ponownego wykorzystania. Pomoże to programistom w pięknym uporządkowaniu kodu, a testerom w łatwym identyfikowaniu błędów. Krótko mówiąc, modularyzacja i ponowne wykorzystanie kodu są bardzo ważne, aby uczynić kod potężniejszym, niezawodnym i łatwiejszym w utrzymaniu. Oto procedury w obrazie.

Rodzaje procedur w VBScript

Procedura to blok kodu, który w idealnym przypadku wykonuje pojedynczą funkcję. Dobrym przykładem funkcji jest blok kodu przetwarzający dane wejściowe lub obsługujący plik. Istnieją dwa rodzaje procedur w VBScript.

  1. Procedura podrzędna: Procedura podrzędna nie zwraca wartości.
  2. Procedura funkcji: Procedura funkcji jest używana, jeśli chcesz zwrócić wartość.

Podprocedury

Jeśli chcesz wykonać serię instrukcji bez zwracania żadnej wartości, możesz użyć procedur podrzędnych.

Procedury podrzędne rozpoczynają się i kończą odpowiednio instrukcjami Sub i End Sub. Procedury podrzędne mogą przyjmować argumenty, ale nie mogą zwracać wartości. Procedury podrzędne mogą, ale nie muszą, wymagać wprowadzenia danych wejściowych.

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

Samo napisanie tego kodu nic nie wyświetli. Tutaj utworzyłeś procedurę Sub o nazwie OutputMessage. Następnie musisz to zadzwonić.

wywołaj wiadomość wyjściową ()

Połącz oba te zestawy kodów w środku tag like this.

<script type="text/vbscript">

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

Dane wyjściowe tego kodu będą

Podprocedury

Funkcje VBScriptu

Jeśli chcesz wykonać serię instrukcji i zwrócić wartość, musisz użyć procedur funkcyjnych, powszechnie znanych jako funkcja.

Procedury funkcyjne rozpoczynają się i kończą odpowiednio instrukcjami Function i End Function.

Procedura funkcyjna może, ale nie musi, pobierać dane wejściowe.

Procedury funkcyjne zwracają wartość poprzez przypisanie wartości do jej nazwy.

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

Dane wyjściowe tego kodu będą

Funkcje VBScriptu

Parametry ByRef i ByVal

Argumenty VBScript można przekazywać do procedur poprzez referencję lub wartość.

Jeśli nie określisz niczego podczas wywoływania procedury, argument/argumenty są domyślnie przekazywane przez referencję.

Jeśli zmiany wprowadzone w argumentach mają się utrzymać nawet po wywołaniu procedury, należy przekazać argumenty VBScript przez referencję.

Kiedy argument jest przekazywany przez wartość, wszelkie zmiany wprowadzone przez wywoływaną procedurę w wartości argumentu zmienna nie utrzymują się po wywołaniu procedury.

Słowa kluczowe ByRef i ByVal służą do przekazywania argumentów odpowiednio przez referencję i wartość.

Aby zrozumieć różnicę, najpierw wykonaj poniższy kod i zobacz wynik.

Krok 1) Skopiuj kod do swojego edytora

<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) wynik wynosi 6.

Krok 3) Zmień funkcję returnResult (wartość ByRef) na funkcję returnResult (wartość ByVal)

Krok 4) Teraz twoje wyjście będzie wynosić 5.

Podsumowanie

  • Procedury VBScript służą głównie do lepszej organizacji kodu i jego ponownego wykorzystania.
  • Istnieją dwa typy procedur VBS: procedury podrzędne i procedury funkcyjne.
  • Jeśli chcesz wykonać serię instrukcji bez zwracania żadnej wartości, możesz użyć procedur podrzędnych.
  • Jeśli chcesz wykonać serię instrukcji i zwrócić wartość, musisz użyć procedur funkcyjnych.
  • Argumenty do procedur można przekazywać poprzez referencję lub wartość. Argumenty są domyślnie przekazywane przez referencję.
  • Jeśli chcesz, aby zmiany wprowadzone w argumentach zostały zachowane nawet po wywołaniu procedury, musisz przekazać argumenty przez odwołanie, a w przeciwnym wypadku przez wartość.