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