四數組管理
數組共享問題稍微復雜一點雖然數組也象其它變量一樣可以在不同語言腳本之間共享但必須注意兼容方面的問題
VBScript數組在JScript下可以用VBScript的符號引用即用myArray()引用數組元素而不是JScript的數組元素引用符號myArray[]此外還可以使用一個特殊的JScript對象——VBArray對象將VBScript數組轉換為JScript數組下面的代碼從VBScript數組myVBArray創建JScript數組myJSArray
var Temp = new VBArray(myVBArray)
var myJSArray
myJSArray = Temp
toArray()
上述代碼首先創建一個臨時的VBArray對象然後使用它的toArray()方法將自己轉換為JScript數組此後就可以象普通JScript數組一樣使用myJSArray如myJSArray[]但應當注意的是toArray()方法將把一個多維的VBArray轉換為一維的JScript數組
從VBScript中引用JScript數組更為復雜雖然在VBScript中我們可以直接訪問JScript數組相關的方法和屬性但沒有直接訪問JScript數組的單個元素的方法也就是說我們可以在VBScript腳本中讀取JScript數組的長度屬性如下所示
x = myJSArray
length
但無法直接讀取該數組的單個元素下面的VBScript代碼是不正確的
x = myJSArray(
)
解決該問題的一個可行的方法是執行一個轉換過程如下面的代碼所示此處假定VBScript是缺省的腳本語言
< %
Dim Temp
Dim myVBArray
Temp = myJSArray
join(
)
myVBArray = Split(Temp
)
%>
此處的JScript join()方法將數組myJSArray元素轉換到一個以逗號為分割符的字符串VBScript Split()函數將字符串轉換為VBScript數組注意這裡我們是在VBScript環境下調用JScript的join方法依照此例我們可以通過自定義VBScript函數來模擬JScript的VBArray對象的toArray()方法以實現JScript數組到VBScript數組的轉換
五小結
在同一個ASP工程內靈活選用不同腳本語言具有許多優點這些腳本之間的交互能力更為開發者集成不同語言所提供的內置函數和其它功能帶來了更多的機會同時也使得實現既可用於VBScript也可用於JScript環境的通用腳本庫成為可能
[] []
From:http://tw.wingwit.com/Article/program/net/201311/14680.html