學好一門編程語言有兩個條件是必不可少的,一是理論與實踐結合。在實際例程去驗證書本上的理論能加深你對理論的理解;二是學會總結,把學習、運用中的心得體會記下來,當成一種經驗或者教訓加以提煉并在日后的應用中加以改進,一定能提高你對這門編程語言的認識。以下是筆者在學習與運用ASP編程中的兩點經驗,希望能對大家有所幫助。
ASP頁面內VBScript和JScript的交互
ASP具備管理不同語言腳本程序的能力,能夠自動調用合適的腳本引擎以解釋腳本代碼和執行內置函數。ASP開發環境提供了兩種腳本引擎,即VBScript(缺?。┖蚃Script。不過,開發者并沒有被限制于只能使用這兩種語言,只要能夠提供合適的ActiveX腳本引擎就能使用任何腳本語言。
腳本語言的選擇往往基于許多不同原因:它可能是開發者最為熟悉的語言,可能是對給定工程來說能夠提供最多特色支持的,也有可能是最具效率的。不同的環境和要求使得我們在選擇腳本語言時注重不同的因素,同時也使得我們在某些時候面臨選定的腳本語言不能直接提供其它語言固有的函數這一問題,或某個腳本已經寫成但用的卻是另外一種腳本語言。
此時應該怎么辦?是否需要用當前所用的腳本語言重寫這些腳本?或者說,是否有可能在一種腳本語言中調用其它腳本語言的內置函數?本文要說明的就是在ASP應用中如何讓VBScript腳本和JScript腳本交互以最大限度地獲得兩種腳本語言的特色支持。
一、VBScript和JScript的內置函數
在VBScript和JScript中,有大量的內置函數功能是相同或類似的。然而,在一種腳本語言中內置的函數并非總是在另外一種腳本語言中也有對應的函數。例如,VBScript提供了許多用于操作字符串和格式化數據的函數,這些函數在JScript中并不存在。這些函數包括StrReverse()、Filter()以及FormatCurrency()等。在另一方面,JScript所提供的用于管理數組、字符串編碼等的函數在VBScript中也沒有定義,如join()、reverse()、pow()、位操作、escape()和unescape()等。
那么,如果在JScript程序中需要一個VBscript函數該怎么辦呢?
二、異種腳本的互相調用
如果需要在JScript腳本中調用一個VBScript中內置的函數,則應該寫一個VBScript用戶定義函數(在這里調用VBScript內置函數),然后在JScript腳本中象調用公用JScript函數一樣調用這個用戶定義函數。
例如,如果要調用的VBSCript內置函數是FormatCurrency(),則可以聲明如下自定義函數:
以下為引用的內容:
< SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"> Function FormatValue(Value) FormatValue = FormatCurrency(Value) End Function < /SCRIPT>
接下來在JScript代碼中就可以象普通JScript函數一樣調用FormatValue()了。用類似的方法也可以實現VBScript代碼調用JScript函數。
新聞熱點
疑難解答