腳本語言是介於HTML 和Java、C++ 和Visual Basic 之類的程式語言之間的語言。 HTML 通常用於格式化文字和連結網頁。程式語言通常用於向電腦發送一系列複雜指令。腳本語言也可用於向電腦發送指令,但它們的語法和規則沒有可編譯的程式語言那麼嚴格和複雜。腳本語言主要用於格式化文字和使用以程式語言編寫的已編譯好的元件。
Active Server Pages 讓Web 開發人員以多種腳本語言編寫完整的過程成為可能。事實上,在單一.asp 檔案內部就可以使用多種腳本語言。另外,由於腳本是在伺服器端讀取和處理的,所以請求.asp 檔案的客戶端瀏覽器並不需要支援腳本。
您可以使用任何一種其對應的腳本引擎已安裝在Web 伺服器上的腳本語言。腳本引擎是處理用某種語言書寫的命令的程式。 Active Server Pages 隨附兩個腳本引擎:Microsoft Visual Basic Scripting Edition (VBScript) 和Microsoft JScript。您也可以安裝和使用其他的腳本語言引擎,例如REXX 和Perl。
如果您已經是Visual Basic 程式設計師,就可以馬上使用VBScript,它是Visual Basic 的子集。如果您是Java、C 或C++ 程式設計師,您會發現JScript 語法對您來說是熟悉的,雖然JScript 與Java 或C 並沒有聯繫。
如果您熟悉其他腳本語言,例如REXX 或Perl,您可取得和安裝相應的腳本引擎,這樣就可以使用您熟悉的腳本語言了。 Active Server Pages 是ActiveX 腳本的宿主。要使用一種語言,必須安裝腳本引擎,該引擎必須遵循ActiveX 腳本標準並作為一個COM (元件物件模型)物件駐留在Web 伺服器上。
設定主腳本語言
ASP 主腳本語言是用來處理在分界符<% 和%> 內部的命令的語言。預設時,主腳本語言是VBScript。您可以將任何一種具有腳本引擎的腳本語言作為主腳本語言。您可以逐頁設定主腳本語言,也可以在ASP 應用程式中設定所有頁面的主腳本語言。
為某頁設定語言
若要設定單頁的主腳本語言,可將<%@ LANGUAGE %> 指令新增至.asp 檔案的開頭。該指令的語法是:
<%@ LANGUAGE=ScriptingLanguage %>
其中ScriptingLanguage 是您所設定的頁的主腳本語言。如果對某頁進行了設置,那麼該頁將忽略在應用程式中對所有頁面的全域設定。
請遵循使用ASP 指令的指導。
注意要將不支援Object.Method 語法的語言作為主腳本語言使用,必須先建立LanguageEngines 登錄鍵。
為應用程式設定語言
在應用程式中,如要為所有頁面設定主腳本語言,可在Internet 服務管理員的App 選項標籤上設定預設的ASP 語言屬性。
在伺服器上使用VBScript 和JScript
當服務端通過ASP 使用VBScript 時,兩個VBScript 特徵將會失效。由於Active Server Pages 腳本是在伺服器端執行的,表示使用者介面的元素的VBScript 語句InputBox 和MsgBox 將不被支援。另外,在伺服器端的腳本中,請不要使用VBScript 函數CreateObject 和GetObject。而要使用Server.CreateObject,這樣ASP 就可以追蹤物件實例了。用CreateObject 或GetObject 建立的物件不能存取ASP 內建對象,也不能參與事務處理。這個規則的一個例外是如果您使用的是Admin 物件和Java monikers。
包含註釋
由於ASP 腳本是在伺服器端處理的,因此即使客戶端的瀏覽器不支援腳本語言,也不必透過包含進HTML 註解標記來隱藏腳本,但客戶端的腳本通常需要這樣處理。在內容送到瀏覽器之前,所有ASP 指令都已經處理好了。您可用HTML 註解將註解加到HTML 頁。註解將傳回瀏覽器,若使用者瀏覽HTML 原始文件,就可以看見。
VBScript 註釋
VBScript 支援撇號型註解。與HTML 註解不同,當處理腳本時,它們將被刪除,而不是送到瀏覽器。
<%
'This line and the following two are comments.
'The PrintTable function prints all
'the elements in an array.
Call PrintTable(myarray())
%>
輸出表達式不能包括註解。例如,下面的第一行將正常運行,而第二行則不能,因為它是以<%= 開頭的。
<% i = i +1 'this increments i. This script will work. %>
<%= name 'this prints the variable name. This script will fail. %>
JScript 註釋
JScript 支援// 註解符。每一個註解行中都必須使用該註解符。
<% Call PrintDate %>
<SCRIPT LANGUAGE=JScript RUNAT=Server>
// This is a definition for the procedure PrintDate.
function PrintDate()
{
var x
x = new Date()
// This line sends the current date to the browser,
// translated to a string.
Response.Write(x.toString())
}
</SCRIPT>
大小寫敏感性
VBScript 不區分大小寫。例如,您可以用Request 或request 來引用ASP Request 物件。不區分大小寫的後果是您不能用大小寫來區分變數名。例如,您不能建立兩個名為Color 和color 的單獨變數。
JScript 區分大小寫。若要在腳本中使用JScript 關鍵字,就必須依照參考頁中所示的大小寫來書寫。例如,用date 來取代Date 將會導致錯誤。在JScript 中,物件名稱必須大寫;方法名稱和屬性名可大寫也可小寫。本文所示的ASP 內建物件的情況將會在JScript 指令中正常運作。