asp 函數與asp過程提供了一種方法來建立重新編程代碼可用模組和避免重寫的代碼每次您執行特定任務同一個塊。如果你沒有任何職能/ ASP頁中的程式,ASP頁從上到下執行時,ASP解析引擎只是處理從開始到結束的整個檔案。的ASP / VBScript函數和程式,然而,只有在所謂的執行,不符合其餘的代碼內聯。一個函數或子過程可以重複使用的需要,從而節省您的時間和一個不那麼喜歡成群結隊漂亮的網頁製作教程了很多次。
你可以寫在ASP中的職能相似的方式來寫他們在Visual Basic。這是良好的編程習慣使用功能模組化代碼,並更好地提供重用。要聲明一個子程式(函數不傳回值,開始與小組的關鍵字,並最終分結束),您只需鍵入:
<%@ LANGUAGE="VBSCRIPT" %>
<%
Sub subroutineName( parameter_1, ... , parameter_n )
statement_1
statement_2
...
statement_n
end sub
%>
函數在不同在於它返回的資料,與功能的關鍵字,並最終結束啟動功能子程式。函數是特別適合做計算並返回一個值。要聲明一個函數的文法類似於:
<%@ LANGUAGE="VBSCRIPT" %>
<%
Function functionName( parameter_1, ... , parameter_n )
statement_1
statement_2
...
statement_n
end function
%>
在有一個用來列印頁面上的資訊的程式碼看起來
Select ActionSelect AllTry It<%@ LANGUAGE="VBSCRIPT" %>
<%
Sub GetInfo(name, phone, fee)
Response.write("Name: "& name &"<br>")
Response.write("Telephone: "& telephone &"<br>")
Response.write("Fee: "& fee &"<br>")
End Sub
%>
現在讓我們考慮如何調用子。有兩種方法:
<%
'the first method
Call GetInfo("Mr. O'Donnel","555-5555",20)
'the second one
GetInfo "Mr. O'Donnel","555-5555",20
%>
在每個例子,實際的參數傳遞到子過程,是在相應的位置通過。請注意,如果您使用電話的聲明中,參數必須括在括弧中。如果你不使用電話,括弧不使用。
現在讓我們來看看一個函數,它接受一個整數值代碼,並返回該值的平方。還包括代碼來調用該函數。
<%
Function Square(num)
Square = num * num
end function
'Returns 25
Response.Write(Square(5))
'Should print "45 is less than 8^2"
if 40 < Square(7) then
Response.Write("45 is less than 8^2")
else
Response.Write("8^2 is less than 40")
end if
%>