亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP頁面內VBScript和JScript的交互(轉)

2024-05-04 11:06:18
字體:
來源:轉載
供稿:網友

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函數。

   應用同樣的規則,我們可以在任何腳本內調用任何用戶定義函數。不過,從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 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環境的通用腳本庫成為可能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人国产精品| 97视频国产在线| 日韩精品极品在线观看| 欧美xxxx做受欧美.88| 成人写真福利网| 亚洲欧美综合区自拍另类| 色悠久久久久综合先锋影音下载| 亚洲精品欧美极品| 8x海外华人永久免费日韩内陆视频| 欧美大片va欧美在线播放| 精品久久久久久久久久久久久| 欧美日韩精品在线| 久久综合九色九九| 国产美女精品视频| 国产欧美中文字幕| 日韩一区二区三区在线播放| 欧美肥臀大乳一区二区免费视频| 久久久久国产精品免费网站| 欧美激情一区二区三级高清视频| 一区三区二区视频| 亚洲国内高清视频| 九九九久久久久久| 国产精品自拍网| 97人人模人人爽人人喊中文字| 91精品久久久久| 91久久夜色精品国产网站| 久久精品国产2020观看福利| 庆余年2免费日韩剧观看大牛| 国产在线视频91| 亚洲免费一级电影| 庆余年2免费日韩剧观看大牛| 欧美日韩国产色视频| 国产手机视频精品| 一区二区在线视频| 欧美风情在线观看| 亚洲激情 国产| 国产日韩欧美视频在线| 国产一区二区三区久久精品| 欧美性xxxx18| 久久久久久九九九| 欧美国产激情18| 亚洲香蕉av在线一区二区三区| 国内自拍欧美激情| 亚洲一级免费视频| 中文字幕久热精品在线视频| 欧美性少妇18aaaa视频| 欧美精品videos另类日本| 国产精品无码专区在线观看| 少妇精69xxtheporn| 亚洲精品理论电影| 夜夜嗨av一区二区三区免费区| 亚洲精品欧美日韩专区| 欧美亚洲在线观看| 亚洲黄色av女优在线观看| 亚洲精品日韩激情在线电影| 国产情人节一区| 日韩免费观看网站| 在线电影欧美日韩一区二区私密| 日韩日本欧美亚洲| 成人妇女免费播放久久久| 国产亚洲欧美一区| 不卡av日日日| 日韩在线观看免费网站| 国产精品视频最多的网站| 国产成人av在线播放| 久久久久久com| 久久大大胆人体| 精品欧美aⅴ在线网站| 精品久久久久久中文字幕大豆网| 国产精品视频26uuu| 亚洲电影中文字幕| 久久av资源网站| 欧美极品第一页| 九九热精品视频国产| 国产精品视频白浆免费视频| 亚洲男人天堂2023| 欧美多人爱爱视频网站| 2019中文字幕在线观看| 国产欧美日韩丝袜精品一区| 欧美xxxwww| 亚洲欧美日韩一区在线| 欧美体内谢she精2性欧美| 日韩欧美成人精品| 91久久精品日日躁夜夜躁国产| 国产欧美精品久久久| 国产精品专区h在线观看| 亚洲一区免费网站| 国内久久久精品| 欧美在线视频播放| 亚洲电影在线观看| 久久视频精品在线| 日本久久久久亚洲中字幕| 亚洲国产精品高清久久久| 亚洲自拍在线观看| 色中色综合影院手机版在线观看| 在线成人激情视频| 国产日韩欧美日韩| 日韩av观看网址| 久久91亚洲精品中文字幕奶水| 久久好看免费视频| 欧美国产日韩精品| 亚洲欧美日韩一区在线| 九九热r在线视频精品| 夜夜嗨av色综合久久久综合网| 国产精品一区二区久久国产| 欧美日本高清一区| 亚洲国产婷婷香蕉久久久久久| 亚洲欧美精品一区二区| 久久激情视频免费观看| 亚洲美女av网站| 国产成人高清激情视频在线观看| 精品久久久久久久久中文字幕| 欧美老肥婆性猛交视频| 欧美二区乱c黑人| 91精品国产自产在线| 亚洲free性xxxx护士白浆| 成人在线视频网站| 亚洲成人教育av| 亚洲免费av电影| 久久视频免费在线播放| 成人观看高清在线观看免费| 国产精品网站视频| 亚洲精品国产品国语在线| 久久国产精品影片| 日韩中文字幕av| 久久九九热免费视频| 国产裸体写真av一区二区| 国产精品黄色影片导航在线观看| 欧美日韩一区二区三区| 久久久最新网址| 日韩精品有码在线观看| 中文字幕在线成人| 国产精品中文字幕在线| 色婷婷综合久久久久中文字幕1| 精品国产91久久久| 国产精品成人在线| 欧美日韩性视频| 亚洲欧美国产日韩中文字幕| 欧美精品在线第一页| 日韩在线免费视频| 日韩欧美在线国产| 久久精品最新地址| 亚洲大尺度美女在线| 国产精品夜间视频香蕉| 亚洲毛片在线看| 亚洲精品视频播放| 国产一区二区在线免费| 国产在线98福利播放视频| 欧美国产第一页| 亚洲免费成人av电影| 国产99久久精品一区二区| 中文字幕亚洲无线码在线一区| 欧美午夜视频在线观看| 久久影视电视剧免费网站清宫辞电视| 91sa在线看| 欧美老妇交乱视频| 91国自产精品中文字幕亚洲| 午夜精品理论片| 欧美大肥婆大肥bbbbb| 久久久亚洲福利精品午夜| 欧美色视频日本版| 日韩av在线免费观看一区| 亚洲a级在线观看| 国产精品色视频|