כמתכנתים אנו נדרשים לפעמים לצמצם את גודל ומסורבלות הקוד שלנו.
פעולה זו יכולה להתבצע בעזרת פונקציות (FUNCTIONS) או סאב-רוטינות (SUBROUTINES).
ההבדל בין פונקציה לסאב-רוטינה הוא שבעוד פונקציה מחזירה ערך סאב-רוטינה איננה מחזירה ערך!
להכרזת סאב-רוטינה:
<%@ LANGUAGE="VBScript" %>
<%
sub SubroutineName( פרמטרים להעביר )
שורות קוד
end sub
%>
להכרזת פונקציה:
<%@ LANGUAGE="VBScript" %>
<%
function FunctionName( פרמטרים להעביר )
שורות קוד
end function
%>
מצ"ב דוגמא לפונקציה המקבלת שני מספרים ומחזירה את הגדול מבין השניים:
<%@ LANGUAGE="VBScript" %>
<%
function Gratest(num1, num2)
If num1 > num2 then
Greatest = num1
Else
Greatest = num2
End if
end function
:קריאה לפונקציה
Response.Write Greatest(4, 6)
%>
מצ"ב דוגמא לסאב-רוטינה שמקבלת שני מספרים וכותבת את היחס ביניהם:
<%@ LANGUAGE="VBScript" %>
<%
sub PrintCalc(num1, num2)
If num1 > num2 then
Response.Write num1 & " Is the biggest"
Else
If num2 > num1 then
Response.Write num2 & " Is the biggest"
Else
Response.Write num1 & " equals " & num2
End if
End if
end sub
:קריאה לסאב רוטינה
PrintCalc 4, 5
%>
חשוב לדעת - בעת קריאה לפונקציה יש לשים את הפרמטרים בסוגריים,
בניגוד לקריאה לסאב-רוטינה שבה אין לשים את הפרמטרים בסוגריים.