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

首頁 > 編程 > ASP > 正文

ASP頁面內VBScript和JScript (轉)

2024-05-04 11:06:18
字體:
來源:轉載
供稿:網友
asp頁面內vbscript和jscript  (仙人掌工作室·cpcw)

   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
欧美寡妇偷汉性猛交| 国产精品久久久久久久久免费| 在线免费观看羞羞视频一区二区| 久久影视电视剧免费网站清宫辞电视| 国产一区二区三区三区在线观看| 亚洲福利小视频| 久久久久北条麻妃免费看| 成人黄色av播放免费| 91香蕉亚洲精品| 久久91超碰青草是什么| 欧美诱惑福利视频| 最好看的2019年中文视频| 国产日韩欧美91| 成人国产亚洲精品a区天堂华泰| 欧美丰满少妇xxxxx| 91性高湖久久久久久久久_久久99| 日韩一区二区精品视频| 68精品国产免费久久久久久婷婷| 久久视频中文字幕| 91视频免费在线| 国产精品高清免费在线观看| 最好看的2019的中文字幕视频| 高清欧美一区二区三区| 日韩精品免费视频| 国产精品电影观看| 亚洲人成在线播放| 国产99久久精品一区二区 夜夜躁日日躁| 原创国产精品91| 国产精品久久久久久久久久| 国产亚洲人成网站在线观看| 777精品视频| 亚洲九九九在线观看| 国产精品自产拍在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 国内精品视频久久| 欧美福利小视频| 91福利视频网| 成人在线国产精品| 久久久久久久久中文字幕| 久久免费视频网| 中文字幕亚洲国产| 日韩中文字在线| 日韩美女免费观看| 久久免费精品视频| 亚洲黄色在线观看| 91在线高清免费观看| 亚洲久久久久久久久久久| 精品久久久一区二区| 国产午夜精品视频| 亚洲一区av在线播放| 欧美日韩xxx| 久久天天躁日日躁| 亚洲精品日韩激情在线电影| 国产精品午夜视频| 91欧美日韩一区| 中文字幕免费精品一区| 庆余年2免费日韩剧观看大牛| 国产成人在线播放| 精品视频www| 91精品久久久久久久久| 亚洲综合社区网| 欧美成人手机在线| 九九热这里只有精品免费看| 国产精品99蜜臀久久不卡二区| 国产成人精品一区| 国产一区二区激情| 91沈先生作品| 中文字幕日韩免费视频| 亚洲男人天堂网| 日韩一区二区精品视频| 在线日韩中文字幕| 久久久久久久色| 青青青国产精品一区二区| 中文字幕在线观看亚洲| 亚洲国产成人精品久久久国产成人一区| 日韩国产高清污视频在线观看| 97在线观看免费高清| 亚洲图片欧美日产| 亚洲成人免费在线视频| 亚洲精品欧美一区二区三区| 国产精品青草久久久久福利99| 日本精品久久久久久久| www.久久色.com| 国产成人久久久精品一区| 久久精品免费电影| 日韩精品久久久久久久玫瑰园| 欧美日韩亚洲视频| 亚洲精品按摩视频| 亚洲欧美日韩一区二区在线| 久久手机免费视频| 法国裸体一区二区| 亚洲字幕一区二区| 中文字幕日韩高清| 久久精品在线视频| 欧美在线视频观看免费网站| 日韩在线视频导航| 欧美激情一级精品国产| 国产精品久久久久久久久久ktv| 7777kkkk成人观看| 黄网站色欧美视频| 亚洲午夜激情免费视频| 色偷偷亚洲男人天堂| 欧美做爰性生交视频| 欧美亚洲国产成人精品| 最近2019中文字幕第三页视频| 国产精品青青在线观看爽香蕉| 亚洲人成77777在线观看网| 清纯唯美日韩制服另类| 国产精品1区2区在线观看| 国产网站欧美日韩免费精品在线观看| 亚洲午夜性刺激影院| 91精品中国老女人| 国产精品国模在线| 午夜精品一区二区三区在线| 色悠悠国产精品| 国产成人精品视频在线| 国产精品久久久久不卡| 亚洲免费成人av电影| 欧美尤物巨大精品爽| 中文字幕日韩高清| 欧美一区二区三区……| 91美女福利视频高清| 久久久久久综合网天天| 欧美日韩色婷婷| 亚洲福利小视频| 91欧美日韩一区| 日韩在线视频一区| 亚洲专区在线视频| 91在线无精精品一区二区| 欧美日韩成人在线视频| 国产精品美女999| 欧美日韩中文字幕日韩欧美| 国产精品丝袜久久久久久不卡| 久久97精品久久久久久久不卡| 色爱精品视频一区| 精品一区二区电影| 亚洲性无码av在线| 欧美日韩中文在线| 精品香蕉一区二区三区| 97视频在线看| 久久人体大胆视频| 亚洲免费一级电影| 国产精品96久久久久久| 国产精品欧美日韩久久| 日韩在线观看成人| 国产精品美女无圣光视频| 91国语精品自产拍在线观看性色| 中文字幕日韩电影| 国产有码在线一区二区视频| 91精品国产91久久久久久不卡| 国产69精品久久久久久| 久久久久久美女| 亚洲第一男人天堂| 国产精品99久久久久久久久久久久| 久久免费高清视频| 亚洲精品小视频| 久久亚洲成人精品| 成人看片人aa| 亚洲丝袜一区在线| 色悠悠国产精品| 成人在线一区二区| 91九色视频导航| 久热精品视频在线| 在线不卡国产精品|