程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> ASP系列講座(六)編寫過程

ASP系列講座(六)編寫過程

編輯:ASP入門教程
過程是一組能執行指定任務且具有返回值的腳本命令。您可以定義自己的過程,然後在腳本中反復調用它們。

您可以將過程定義放在調用過程的 .ASP文件中,也可以將通用過程放在一個共享的 .asp 文件中,然後用 SSI #include 指令將其包含進其他調用其過程的 .ASP 文件中。您還可選擇另一種方法,即把這些功能打包在 ActiveX 組件中。

定義過程
過程定義可出現在 <SCRipT> 和 </SCRIPT> 標記內部且必須遵循聲明腳本語言的規則。如果過程所用的語言與主腳本語言不同,則要使用 <SCRIPT> 元素。主腳本語言中的過程用腳本分界符 (<% 和 %>) 分隔。

用 Html <SCRIPT> 標記時,必須使用兩個屬性來保證服務器端能夠處理腳本。使用 <SCRIPT> 標記的語法是:

<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
  PRocedure definition
</SCRIPT>
RUNAT=SERVER 屬性通知 Web 服務器在服務器上處理腳本。若不設置該屬性,腳本將由客戶端浏覽器處理。LANGUAGE 屬性決定此腳本塊所用的腳本語言。您可以指定任何一種具有腳本引擎的語言。請使用 VBSCRIPT 指定 VBScript; 用 JSCRIPT 指定 JScript。若不設置 LANGUAGE 屬性,將用主腳本語言解釋此腳本塊。

腳本塊中的命令必須用所選的腳本語言形成一個或多個完整的過程。例如,以下命令定義 JScript 過程 MyFunction。

<Html>
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
  function MyFunction()
  {
      Response.Write("MyFunction Called")
  }  
</SCRIPT>
要點    不要在服務器端的 <SCRIPT> 標記內部包含任何不屬於某個完整過程的一部分的腳本命令。由於執行順序不可預測,所以不屬於過程的命令可能會導致意外結果。另外,在過程內不能使用 ASP 輸出表達式 <%=,而應使用 Response.Write。

調用過程
要調用過程,在命令中包含過程名即可。如果從 VBScript 中調用 JScript 過程,就必須在過程名後加上括號;如過程沒有變量,就用空括號。不管是從 JScript 調用 VBScript 還是調用 JScript 過程,在過程後總要加上括號。

對於 VBScript,調用過程時要用 Call 關鍵字。如果調用的過程需要括號,變量表必須放在括號內。如果省略 Call 關鍵字,也必須省略變量表外的括號。如果用 Call 語法調用任何內建的或用戶自定義的函數,函數的返回值將被丟棄。

下面將舉例說明用兩種不同的腳本語言(VBScript 和 JScript)創建和調用過程。

<%@ LANGUAGE = VBSCRIPT >%
<Html> 
<BODY>
<% Call Echo %> 
<BR>
<% Call PrintDate() %>
</BODY>
</Html>

<%
Sub Echo 
  Response.Write "<TABLE>" 
  Response.Write "<TR><TH>Name</TH><TH>Value</TH></TR>" 
  Set Params = Request.QueryString 
  For Each p in Params 
    Response.Write "<TR><TD>" & p & "</TD><TD>" & _ 
    Params(p) & "</TD></TR>" 
  Next 
Response.Write "</TABLE>" 
End Sub 
%>

<SCRIPT LANGUAGE=JScript RUNAT=Server> 
function PrintDate() 

  var x
  x = new Date() 
  Response.Write(x.toString()) 

</SCRIPT>
將數組傳遞給過程
在 VBScript 中,要將一個完整的數組傳遞給過程,可使用數組名,後接空括號;而在 JScript 中,要用空的方括號。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved