Una funzione si apre con " function nome_funzione()" e si chiude sempre con " end function" .
A differenza della Sub, la Function restitusce un valore allo script chiamante.
Poniamo di voler ripetere l' esempio visto sopra usando lo strumnento della function:
<%
function iva_calc(prezzo)
iva_calc = prezzo+((prezzo/100)*20) & " Euro"
end function
%>
Se vogliamo richiamare la function nelle nostre pagine faremo così:
<%
Dim MioPrezzo
MioPrezzo = 100
document.write iva_calc(MioPrezzo)
%>Se stiamo usando una function una cosa del genere è semplicissima, dato che la nostra funzione ci restituisce un valore sul quale possiamo lavorare direttamente:
<%
function iva_calc(prezzo)
iva_calc = prezzo+((prezzo/100)*20) & " Euro"
end function
Dim MioPrezzo
MioPrezzo = 100
Dim Acconto
Acconto = 40
' sottraggo al valore restituito dalla funzione il valore di Acconto
document.write (iva_calc(MioPrezzo)-Acconto)
%>
Una cosa del genere non sarebbe stata possibile utilizzando la Sub in quanto, come abbiamo detto, questa non restituisce mai un valore e, pertanto, i passaggi necessari per compiere il nostro semplice calcolo sarebbero stati un poco più lunghi (avremmo dovuto creare una nuova variabile a cui assegnare un valore pari al risultato della Sub, ed effettuare poi la sottrazione dell' acconto su questa nuova variabile).