中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

VBScript和JScript互相調用方法

2015-02-11    分類: 網站建設

ASP具備管理不同語言腳本程序的能力,能夠自動調用合適的腳本引擎以解釋腳本代碼和執行內置函數。ASP開發環境提供了兩種腳本引擎,即VBScript(缺省)和JScript。不過,開發者并沒有被限制于只能使用這兩種語言,只要能夠提供合適的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(),則可以聲明如下自定義函數: 接下來在JScript代碼中就可以象普通JScript函數一樣調用FormatValue()了。用類似的方法也可以實現VBScript代碼調用JScript函數。 應用同樣的規則,我們可以在任何腳本內調用任何用戶定義函數。不過,從JScript腳本內調用一個不帶參數的VBScript過程(Sub)時應略加注意,此時在JScript中應該象調用一個不帶參數的JScript函數一樣調用它,如用foo()調用VBScript Sub foo過程。 三、數據共享 在某些情形下混合運用VBScript和JScript函數是非常有用的,但在不同語言腳本之間共享數據也可能很有用。實現這種共享的方法很簡單:不管使用的是什么語言,只要是在頁面級聲明的變量就可以任意引用。 對象的使用方法也相似,可以任意選用合適的語言讀取、修改屬性或調用對象的方法。當然給定對象的屬性和方法是由創建該對象實例的語言所定義的。正如上例VBScript的過程調用,當從JScript中調用一個不帶參數的VBScript對象的方法時,其調用方法也遵從JScript的調用規則,反之亦然。 四、數組管理 數組共享問題稍微復雜一點。雖然數組也象其它變量一樣可以在不同語言腳本之間共享,但必須注意兼容方面的問題。 VBScript數組在JScript下可以用VBScript的符號引用,即用myArray(2)引用數組元素而不是JScript的數組元素引用符號myArray[2]。此外,還可以使用一個特殊的JScript對象——VBArray對象將VBScript數組轉換為JScript數組。下面的代碼從VBScript數組myVBArray創建JScript數組myJSArray:  var Temp = new VBArray(myVBArray) var myJSArray myJSArray = Temp.toArray()上述代碼首先創建一個臨時的VBArray對象,然后使用它的toArray()方法將自己轉換為JScript數組。此后就可以象普通JScript數組一樣使用myJSArray,如myJSArray[1]。但應當注意的是,toArray()方法將把一個多維的VBArray轉換為一維的JScript數組。 從VBScript中引用JScript數組更為復雜。雖然在VBScript中我們可以直接訪問JScript數組相關的方法和屬性,但沒有直接訪問JScript數組的單個元素的方法。也就是說,我們可以在VBScript腳本中讀取JScript數組的長度屬性,如下所示: x = myJSArray.length 但無法直接讀取該數組的單個元素,下面的VBScript代碼是不正確的: x = myJSArray(3) 解決該問題的一個可行的方法是執行一個轉換過程,如下面的代碼所示,此處假定VBScript是缺省的腳本語言: <%Dim TempDim myVBArrayTemp = myJSArray.join(", ")myVBArray = Split(Temp, ", ")%>此處的JScript join()方法將數組myJSArray元素轉換到一個以逗號為分割符的字符串,VBScript Split()函數將字符串轉換為VBScript數組。注意這里我們是在VBScript環境下調用JScript的join方法。依照此例,我們可以通過自定義VBScript函數來模擬JScript的VBArray對象的toArray()方法以實現JScript數組到VBScript數組的轉換。五、小結 在同一個ASP工程內靈活選用不同腳本語言具有許多優點,這些腳本之間的交互能力更為開發者集成不同語言所提供的內置函數和其它功能帶來了更多的機會,同時也使得實現既可用于VBScript也可用于JScript環境的通用腳本庫成為可能。

文章名稱:VBScript和JScript互相調用方法
轉載源于:http://www.2m8n56k.cn/news/33547.html

成都網站建設公司_創新互聯,為您提供App設計外貿網站建設營銷型網站建設網站設計用戶體驗自適應網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 91视频社区 | 国产第一福利影院 | 国产一级爱c片免费播放 | 日韩欧美在线观看 | 免费特黄一区二区三区视频一 | 精品一区二区三区免费站 | 免费a级片网站 | 久久国产首页 | 日韩一区二区免费看 | 欧美日韩精品在线视频 | 国产一区二区三区亚洲欧美 | 日本三级中文字幕 | 亚洲制服丝袜美腿亚洲一区 | 亚洲成人手机在线观看 | 日韩亚洲成a人片在线观看 日韩亚洲精品不卡在线 | 亚洲清纯自偷自拍另类专区 | 91成人午夜在线精品 | 成人免费一级毛片在线播放视频 | 亚洲欧美日韩精品久久亚洲区 | 日韩一级不卡 | 欧美一线免费http | 国产成人精品免费午夜 | 爱呦视频在线播放网址 | 99爱在线精品视频免费观看9 | 亚洲haose在线观看 | 欧美性色xo在线 | 色视频在线观看免费 | 男女毛片免费视频看 | 成年男女免费视频网站播放 | 欧美日韩a∨毛片一区 | 最近日本免费观看视频 | 成人午夜网站 | 欧美同性videos在线可播放 | 在线观看日本视频免费 | 综合久久久 | 国产九九视频在线观看 | 97久久天天综合色天天综合色 | 成人在线视频免费看 | 韩国免费特一级毛片 | 国内精品免费一区二区三区 | 一级一级一片免费 |