VBScript - procedury
Co to jest funkcja?
Funkcja to grupa kodu wielokrotnego użytku, który można wywołać w dowolnym miejscu programu. Eliminuje to potrzebę ciągłego pisania tego samego kodu. Umożliwi to programistom podzielenie dużego programu na kilka małych i łatwych do zarządzania funkcji. Oprócz wbudowanych funkcji, VBScript pozwala nam również pisać funkcje zdefiniowane przez użytkownika. W tej sekcji wyjaśniono, jak pisać własne funkcje w języku VBScript.
Definicja funkcji
Zanim użyjemy funkcji, musimy zdefiniować tę konkretną funkcję. Najczęstszym sposobem definiowania funkcji w języku VBScript jest użycie słowa kluczowego Function, po którym następuje unikalna nazwa funkcji i może ona zawierać listę parametrów i instrukcję ze znakiemEnd Function słowo kluczowe, które wskazuje koniec funkcji.
Podstawowa składnia jest pokazana poniżej -
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function Functionname(parameter-list)
statement 1
statement 2
statement 3
.......
statement n
End Function
</script>
</body>
</html>
Przykład
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
</script>
</body>
</html>
Wywołanie funkcji
Aby wywołać funkcję w innym miejscu skryptu, wystarczy wpisać nazwę tej funkcji z rozszerzeniem Call słowo kluczowe.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
Call sayHello()
</script>
</body>
</html>
Parametry funkcji
Do tej pory widzieliśmy funkcję bez parametru, ale istnieje możliwość przekazywania różnych parametrów podczas wywoływania funkcji. Te przekazane parametry można przechwycić wewnątrz funkcji i można na nich wykonać dowolną manipulację. Funkcje są wywoływane przy użyciu rozszerzeniaCall Słowo kluczowe.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello(name, age)
msgbox( name & " is " & age & " years old.")
End Function
Call sayHello("Tutorials point", 7)
</script>
</body>
</html>
Zwracanie wartości z funkcji
Funkcja VBScript może mieć opcjonalną instrukcję return. Jest to wymagane, jeśli chcesz zwrócić wartość z funkcji. Na przykład, możesz przekazać dwie liczby w funkcji, a następnie możesz oczekiwać, że funkcja zwróci ich pomnożenie w programie wywołującym.
NOTE - Funkcja może zwracać wiele wartości oddzielonych przecinkami jako tablicę przypisaną do samej nazwy funkcji.
Przykład
Ta funkcja pobiera dwa parametry, łączy je i zwraca wynik w programie wywołującym. W języku VBScript wartości są zwracane z funkcji używającej nazwy funkcji. W przypadku, gdy chcesz zwrócić dwie lub więcej wartości, nazwa funkcji jest zwracana z tablicą wartości. W programie wywołującym wynik jest przechowywany w zmiennej wynikowej.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
</script>
</body>
</html>
Teraz możemy nazwać tę funkcję w następujący sposób -
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
' Here is the usage of returning value from function.
dim result
result = concatenate("Zara", "Ali")
msgbox(result)
</script>
</body>
</html>
Procedury podrzędne
Podprocedury są podobne do funkcji, ale istnieje kilka różnic.
Procedury podrzędne NIE zwracają wartości, podczas gdy funkcje mogą zwracać wartość lub nie.
Procedury podrzędne Można wywołać bez słowa kluczowego call.
Procedury podrzędne są zawsze zawarte wewnątrz Sub i End Sub sprawozdania.
Przykład
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
</script>
</body>
</html>
Procedury telefoniczne
Aby wywołać procedurę gdzieś w dalszej części skryptu, wystarczy wpisać nazwę tej procedury z rozszerzeniem lub bez Call słowo kluczowe.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
sayHello()
</script>
</body>
</html>
Zaawansowane koncepcje funkcji
Można się wiele dowiedzieć o funkcjach VBScript. Możemy przekazać parametr byvalue lub byreference. Kliknij każdy z nich, aby dowiedzieć się więcej.
ByVal- Przekaż parametry według wartości
ByRef - przekazuje parametry przez odniesienie