使用VBScript和JScript編寫(xiě)WEB應(yīng)用程序
我心飛揚(yáng)
寫(xiě)這篇文章的動(dòng)機(jī)是看到了大家對(duì)VBScript和Javascript的討論以及另一片類似的文章,覺(jué)得有必要將大家的想法加以整理:-),并將我在工作中產(chǎn)生的一些心得拿出來(lái)和大家分享,希望對(duì)大家有所幫助。當(dāng)然,水平有限,錯(cuò)誤在所難免。
Active Server Pages是Microsoft Windows DNA的重要組成部分,使用ASP我們可以很容易的構(gòu)造功能強(qiáng)大的基于Web的應(yīng)用。有很多腳本編寫(xiě)語(yǔ)言可供我們進(jìn)行ASP創(chuàng)作,如:VBScript、JavaScript、Perl 和Rexx等,你可以從幾種腳本編寫(xiě)語(yǔ)言中選擇一個(gè)。本文中我們討論微軟公司所提供的兩種腳本編寫(xiě)語(yǔ)言:
VBScript
JScript
首先,我想討論的是:
一、什么時(shí)候使用VBScript 和JScript,以及兩者之間的區(qū)別
VBScript 是Visual Basic的子集,全稱是Microsoft Visual Basic Scripting Edition。如果你曾經(jīng)用過(guò)Visual Basic或者是Visual Basic for Applications (VBA),你就會(huì)覺(jué)得非常熟悉。不過(guò)它們并不完全一樣,因?yàn)閂BScript是特意為在WEB中進(jìn)行工作而設(shè)計(jì)的。
JScript是ECMAScript的Microsoft版本,是一組包括JScript 和JavaScript腳本編寫(xiě)語(yǔ)言的標(biāo)準(zhǔn)定義。JScript從一組編程語(yǔ)言如C, C++, 以及Java等之中脫離出來(lái)的。如果你以前曾經(jīng)用過(guò)C或者是Java,那么JScript的結(jié)構(gòu)你會(huì)覺(jué)得非常熟悉。即便你不知道這些語(yǔ)言也沒(méi)有關(guān)系,JScript的結(jié)構(gòu)一點(diǎn)也不難,它像C和Java一樣方便而沒(méi)有它們那么復(fù)雜。
微軟公司在Internet Explorer和Internet Information Server (IIS)中為它們提供了ActiveX Scripting Language(ActiveX腳本編輯語(yǔ)言)引擎(比如vbscript.dll、jscript.dll)。
那么,什么時(shí)候選擇何種語(yǔ)言?
我們知道,進(jìn)行ASP開(kāi)發(fā)無(wú)外乎要編寫(xiě)下列兩種腳本之一:
1)服務(wù)器腳本:
在ASP頁(yè)面中為IIS編寫(xiě)服務(wù)器腳本,無(wú)論使用那種語(yǔ)言都沒(méi)有問(wèn)題。并且微軟公司的Visual InterDev對(duì)它們支持的都很好。
2)客戶端腳本:
如果你想在瀏覽器腳本中使用VBScript,那么瀏覽器必須是Internet Explorer的某個(gè)版本。因?yàn)槠渌麨g覽器可能不支持VBScript。如果要建立一個(gè)公共Web站點(diǎn),你無(wú)法預(yù)知用戶使用的是什么瀏覽器,那么VBScript只能用于Internet Explorer這個(gè)限制就成問(wèn)題了。
幾乎所有允許編寫(xiě)腳本的瀏覽器都支持JScript。因此,如果為一個(gè)公共Web站點(diǎn)編寫(xiě)應(yīng)用程序,用JScript來(lái)編寫(xiě)客戶端腳本是很自然的選擇。
影響你做決定的其他主要因素還有:
1、錯(cuò)誤控制
在VBScript中有On Error 錯(cuò)誤陷阱來(lái)對(duì)錯(cuò)誤情況進(jìn)行控制,如:On Error Resume Next。如果你編寫(xiě)的是服務(wù)器腳本,錯(cuò)誤控制非常重要,因?yàn)槟_本的運(yùn)行是無(wú)人照顧的。Jscript沒(méi)有這種機(jī)制。
2、格式化
VBScript有這樣的功能,能夠輕易地把數(shù)據(jù),數(shù)字和貨幣數(shù)據(jù)格式化。JScript沒(méi)有這樣的功能。
3、動(dòng)態(tài)執(zhí)行
JScript一個(gè)非常有力的特性是:它允許你在你的腳本內(nèi)動(dòng)態(tài)地建立和執(zhí)行腳本(eval()函數(shù)、execScript()方法等)。簡(jiǎn)而言之,在你的腳本中能夠編寫(xiě)腳本。當(dāng)你用DHTML進(jìn)行工作時(shí),這個(gè)特性是非常有用的,因?yàn)檫@樣你就能夠動(dòng)態(tài)的操作DHTML的文檔模型了。VBScript無(wú)此功能。例如,在客戶端的Javascript里你可以使用類似這樣的句法:
execScript("on error resume next:object.execWB 4, 1","VBScript");
4、面向?qū)ο?br />JScript使用的是一種基于原型的對(duì)象結(jié)構(gòu),允許你在腳本中定義對(duì)象。你能夠往對(duì)象的原型中加入方法和屬性,擴(kuò)展內(nèi)置對(duì)象和定制對(duì)象。例如:
//自定義對(duì)象myObject
function myObject(){
????//自定義屬性
????this.properties1=value;??//此時(shí)賦值為該屬性的默認(rèn)值
????this.properties2;
????...
????//自定義方法
????this.myMethod1=Method1;
????this.myMethod2=Method2;
}
function Method1(arg){
????//block;
}
function Method2(arg){
????//block;
}
尤其有用的是該對(duì)象可通過(guò)SOM傳回客戶端,使得ASP編程方式更象以往的C/S結(jié)構(gòu)。(我近期內(nèi)可能會(huì)寫(xiě)一篇深入討論SOM的文章,對(duì)該方法作詳細(xì)討論)
5、事件控制
用VBScript在Internet Explorer中控制事件很方便,就像在Visual Basic中一樣。在VBScript中也能夠建立一個(gè)隱含的事件處理程序,這只需要用對(duì)象事件結(jié)構(gòu)形式來(lái)定義一項(xiàng)功能就行了,比如說(shuō)隱式調(diào)用Button1_onclick。不過(guò)在Internet Explorer中,JScript沒(méi)有這項(xiàng)功能(但在其他的JScript主機(jī)上支持這項(xiàng)功能)。
在Internet Explorer 中使用JScript控制事件,會(huì)要求你鏈接到一個(gè)對(duì)象上,而這個(gè)對(duì)象又是與事件處理程序相連的。通常,只要在鑒別事件并且有處理程序功能的對(duì)象的標(biāo)簽欄中指明其屬性即可。如下所示:
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function button1_onclick() {
????alert("button1 Clicked")
}
//-->
</SCRIPT>
<INPUT type="button" value="Button" id=button1 name=button1 LANGUAGE=javascript onclick="return button1_onclick()">
或者使用類似下面的語(yǔ)法:
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function window_onload() {
????//Block;????
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE=javascript FOR=window EVENT=onload>
<!--
window_onload()
//-->
</SCRIPT>
值得注意的是,上例中LANGUAGE屬性設(shè)置為“Javascript”。Internet Explorer對(duì)于"JScript" 和"Javascript"這兩個(gè)名字都認(rèn)識(shí),但許多其他瀏覽器卻只認(rèn)識(shí)"Javascript",不認(rèn)識(shí)"JScript" 。因此,為了保險(xiǎn)起見(jiàn),如果你不能確定該網(wǎng)頁(yè)是用Internet Explorer來(lái)瀏覽,就最好用"Javascript"。
6、數(shù)據(jù)類型
VBScript和JScript的數(shù)據(jù)類型差別比較大,JScript有6種數(shù)據(jù)類型:數(shù)值型、字符串型、對(duì)象型、
布爾型、null和undefined。VBScript雖然只有一種數(shù)據(jù)類型Variant,但其子類型比較豐富。特別
是其對(duì)數(shù)值類型的精細(xì)劃分使得在進(jìn)行精確的數(shù)值運(yùn)算時(shí)顯得比較放心。且配合第2條中所講到的
格式化功能使數(shù)據(jù)處理更加得心應(yīng)手。有關(guān)這方面的文檔請(qǐng)參閱微軟的MSDN。
7、運(yùn)算符
在運(yùn)算符方面VBScript和JScript也有一些差別:
例如,VBScript增加了用于字符串連接的算術(shù)運(yùn)算符“&”,用于對(duì)象比較的“is”運(yùn)算符等。
然而JScript提供了比VBScript多得多的運(yùn)算符,例如遞加遞減運(yùn)算符“++、--”、一組位運(yùn)算符
及typeof、delete等雜項(xiàng)運(yùn)算符等。有關(guān)此方面的信息MSDN中非常詳細(xì),在此不必復(fù)述。
8、字符串處理
VBScript和Javascript的字符串處理曾經(jīng)也是網(wǎng)友們爭(zhēng)論的焦點(diǎn),它們對(duì)字符串的處理有著本質(zhì)
的不同,我之所以將這部分單獨(dú)提出來(lái),也是想引發(fā)網(wǎng)友們作一些較為詳細(xì)的討論。
在VBScript中字符串只是一種簡(jiǎn)單的數(shù)據(jù)類型而已,并為之提供了非常豐富的字符串處理函數(shù),
例如:
ASC,Chr,InStr,InStrRev,Join,LCase,UCase,Left,Right,Len,LTrim,RTrim,Trim,Mid,Replace,
Space,String,Split,StrComp,StrReverse
因此有很大一部分網(wǎng)友認(rèn)為VBScript的字符串處理功能比JScript簡(jiǎn)捷、功能強(qiáng)大。
不過(guò)我不這么認(rèn)為。簡(jiǎn)捷是有可能的,但談到強(qiáng)大,我覺(jué)得JScript功能更為強(qiáng)大。在JScript中,
字符串不僅是一種數(shù)據(jù)類型,更是一類特殊的對(duì)象。作為對(duì)象的方法,他不僅提供了上述
VBScript中字符串函數(shù)的幾乎所有功能,而且配合正則表達(dá)式能夠提供更為強(qiáng)勁的功能。
一種典型的應(yīng)用就是字符串的模糊搜索,看下面這個(gè)例子:
我想把一篇文章中的Chen0,Chen1,chenk,Chen99等可能的拼寫(xiě)方法替換成JoyASP:
var txt = myTextFile.ReadAll();
var re = /chenk?\d?\d?/gi;
txt = txt.replace(re,"JoyASP");
這種用法在不能精確地預(yù)知被處理的字符串時(shí)顯得尤其有用。熟悉Unix,C,C++,Perl的網(wǎng)友可能
對(duì)正則表達(dá)式不會(huì)陌生,關(guān)于這方面的內(nèi)容請(qǐng)查閱相關(guān)文章。
二、在同一個(gè)網(wǎng)頁(yè)中同時(shí)使用兩種語(yǔ)言
在同一個(gè)網(wǎng)頁(yè)中可以使用不同的腳本編寫(xiě)語(yǔ)言。這樣做有以下幾個(gè)可能的原因:
A、在一個(gè)程序中充分利用各種語(yǔ)言的優(yōu)點(diǎn)。
B、可能所面對(duì)的現(xiàn)有編碼是用你不熟悉的語(yǔ)言來(lái)編寫(xiě)的。例如,DTC是用JScript編寫(xiě)的,而
你熟悉的語(yǔ)言卻是VBScript。
大部分情況下,你可以在同一個(gè)網(wǎng)頁(yè)中混合幾種腳本語(yǔ)言并且它們相互之間能夠配合得很好。
用一種語(yǔ)言編寫(xiě)的腳本可以調(diào)用用另外一種語(yǔ)言編寫(xiě)的程序并且能夠共享全局變量。不過(guò)有時(shí)
候還是會(huì)出現(xiàn)一點(diǎn)小問(wèn)題,現(xiàn)在就此說(shuō)明一下。
1、當(dāng)你從VBScript中調(diào)用一個(gè)JScript函數(shù)時(shí),注意在調(diào)用過(guò)程中要有括號(hào),即使這項(xiàng)函數(shù)不
要求設(shè)置參數(shù)也需如此。例如,一個(gè)調(diào)用應(yīng)該像這樣:
returnValue = call_JScript_Function()
如果你忘記了加括號(hào),那么這個(gè)函數(shù)所返回的值就不是你所希望的值,而是一個(gè)包含了函數(shù)本
身的VBScript無(wú)法解釋的對(duì)象。
2、服務(wù)器腳本的執(zhí)行順序
被<% %>定界符括入的命令被稱為主腳本命令,主腳本命令按順序運(yùn)行,從頭到尾。當(dāng)然,你可
以在一個(gè)服務(wù)器腳本中定義一個(gè)可調(diào)用的程序(函數(shù)或者是子程序)。這樣的話,如果需要就
可以隨時(shí)調(diào)用它們。
所有的主腳本命令必須用同一種語(yǔ)言來(lái)編寫(xiě),也就是在網(wǎng)頁(yè)前面的<%@ LANGUAGE=xxxxx%>指示
中所指明的腳本語(yǔ)言。因此,在一個(gè)主腳本命令中你不能把幾種腳本語(yǔ)言混合起來(lái)。 你也許會(huì)
說(shuō)“等一等”。在理論上,把服務(wù)器腳本放到<script>單元中是絕對(duì)可能的。就像下例一樣:
<%Response.Write("I Love joyASP!")%>
<SCRIPT language=VBScript RUNAT=Server>
Response.Write("I Love 我心飛揚(yáng), too.")
</SCRIPT>
但是,這樣你就會(huì)被IIS ASP處理程序的執(zhí)行順序控制。例如,如果你建立了服務(wù)器腳本并且在
IIS 4.0中運(yùn)行它,你會(huì)發(fā)現(xiàn)執(zhí)行順序可能是這樣的:
1)非缺省語(yǔ)言的<SCRIPT>單元腳本
2)主腳本命令
3)缺省語(yǔ)言的<SCRIPT>單元腳本
以上的順序在很大程度上依賴于ActiveX腳本語(yǔ)言引擎的載入順序,同時(shí)IIS中的ASP處理程序可
能在將來(lái)會(huì)有所改變。因此,我不不大贊成按這種方式書(shū)寫(xiě)代碼,建議你是只把<SCRIPT>單元
用于函數(shù)或者子程序,或是把它僅僅用于其他與執(zhí)行順序無(wú)關(guān)的編碼。
3、客戶端腳本塊的順序
當(dāng)你在客戶端把幾種語(yǔ)言混合使用時(shí),<SCRIPT>塊在網(wǎng)頁(yè)中出現(xiàn)的順序非常重要,有時(shí)候會(huì)影
響到它們是否能正常工作??纯聪旅孢@個(gè)簡(jiǎn)單的例子,它是在一個(gè)VBScript腳本中調(diào)用一個(gè)用
JScript編寫(xiě)的函數(shù):
<SCRIPT LANGUAGE="VBScript">
' 調(diào)用一個(gè)JScript function
her = "Lucy"
loveher = JSfuncLoveher(her)
document.write("絕密情報(bào):" & loveher)
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function JSfuncLoveher(arg){
return "White、飛鳥(niǎo)和Moslem都想泡" + her + "MM :-)";
}
</SCRIPT>
它不會(huì)起任何作用。說(shuō)得更明白一點(diǎn),document.write()會(huì)往網(wǎng)頁(yè)中寫(xiě)入一個(gè)空的字符串。為
什么?很簡(jiǎn)單,在處理VBScript塊時(shí),下面的Java Script <SCRIPT>塊還沒(méi)有被讀出來(lái),沒(méi)有
進(jìn)行語(yǔ)法分析,因此網(wǎng)頁(yè)不能使用它。當(dāng)瀏覽器處理網(wǎng)頁(yè)中的腳本塊時(shí),它是從上往下進(jìn)行的。
在這個(gè)例子中,只需要調(diào)換一下腳本塊的順序就能夠解決這個(gè)問(wèn)題了。不過(guò),事實(shí)上這類問(wèn)題
并不那么常見(jiàn),在大多數(shù)情況下,<SCRIPT>中包含的函數(shù)和子程序只有當(dāng)整個(gè)網(wǎng)頁(yè)被全部下載
下來(lái)并且所有的單元都可以使用之后才能夠被調(diào)用。不過(guò),你還是要記住,網(wǎng)頁(yè)是按照一定的
順序來(lái)處理的,不同語(yǔ)言的<SCRIPT>塊是分別處理的。
3、區(qū)分大小寫(xiě)以及命名習(xí)慣
JScript是嚴(yán)格區(qū)別大小寫(xiě)的:在每個(gè)JScript的關(guān)鍵字,每個(gè)JScript命名空間的所有部分中,
你可以把大寫(xiě)和小寫(xiě)字母恰當(dāng)?shù)慕Y(jié)合起來(lái)使用。這其中包括了你使用的對(duì)象模型中所有的關(guān)鍵
字。例如,當(dāng)你使用ASP Response對(duì)象時(shí),必須正確地使用大小寫(xiě)字母(如Response.Write),
否則JScript會(huì)堅(jiān)決不予承認(rèn)。同樣,如果你為DHTML onclick事件編寫(xiě)一個(gè)處理程序,如果用
在Visual Basic中經(jīng)常發(fā)生的隨便使用大小寫(xiě)的形式JScript可能就不會(huì)承認(rèn)。
VBScript是不區(qū)分大寫(xiě)和小寫(xiě)字母的。在某種程度上,這種不計(jì)較大小寫(xiě)的疏忽甚至在你用
VBScript對(duì)JScript編寫(xiě)的單元進(jìn)行訪問(wèn)時(shí)都沒(méi)什么問(wèn)題。下面例子中給出了兩個(gè)腳本。第一
個(gè)是用JScript編寫(xiě)的,其中還包括了一個(gè)全局變量(ctr)和一個(gè)函數(shù)(doubleMe)。第二個(gè)
腳本是用VBScript編寫(xiě)的,它是一個(gè)按鈕處理程序,它能夠調(diào)用JScript函數(shù),并且報(bào)告全局
變量的值。
<SCRIPT LANGUAGE=javascript>
var ctr;
function doubleMe(aNumber){
????if(parseInt(ctr)){
????????ctr = ctr + 1;
????}
????else{
????????ctr = 1;
????}
return aNumber * 2;
}
</SCRIPT>
<SCRIPT LANGUAGE="vbscript">
Function btn1_onclick()
????numberToDouble = 12
????msgbox "The doubled number = " & DOUBLEME(numberToDouble)
????msgbox "You have doubled the number " & CTR & " times."
End function
</SCRIPT>
在VBScript腳本中,很明顯,我在提到doubleMe 函數(shù)和ctr變量時(shí),沒(méi)有正確使用字母的大小
寫(xiě),但是程序依然運(yùn)行良好。 這是一個(gè)好消息。而壞消息就是,在下面這些情況下你一定要注
意字母的大小寫(xiě):如果網(wǎng)頁(yè)中的JavaScript腳本所包含的單元只能夠通過(guò)字母的大寫(xiě)和小寫(xiě)來(lái)
區(qū)分,例如,一個(gè)叫做Timer()的函數(shù)和一個(gè)叫做timer的全局變量等等。很不幸,盡管這種編
碼方式不怎么好,但是有時(shí)候在你的網(wǎng)頁(yè)中還是可能會(huì)遇到原來(lái)就存在的編碼。
在一個(gè)函數(shù)調(diào)用中把JScript單元的名字作為一個(gè)字符串參數(shù)來(lái)使用
如果JScript包括的單元僅僅能夠用字母的大小寫(xiě)來(lái)區(qū)分,那么VBScript就會(huì)把它們看成一樣的
(也就是說(shuō),不區(qū)分大寫(xiě)和小寫(xiě))。VBScript只能看看不管大小寫(xiě)的區(qū)別,它們是不是一樣,
因此它識(shí)別出的只有一個(gè)JScript單元。換一句話說(shuō),如果VBScript首先找到的是叫做Timer()
的函數(shù),那么它就無(wú)法找到叫做timer的全局變量了,反之也是一樣。即便你在VBScript編碼中
十分注意的把它們做了區(qū)別結(jié)果也是一樣。因?yàn)閂BScript在處理這些名字的時(shí)候認(rèn)為它們只有一
種寫(xiě)法。不幸的是,這里沒(méi)有其它的解決方法,除非在JScript的代碼中不利用這些大小寫(xiě)之間
的微小差別來(lái)區(qū)分不同的函數(shù)名稱。
除了在某些特殊的情況下,把單元名作為參數(shù)使用這種問(wèn)題并不常見(jiàn)。特殊情況之一是在Visual
InterDev 6.0中的腳本對(duì)象模型中。下面我會(huì)把它作為一個(gè)例子來(lái)使用,你可以把它看作是相同
情況下的處理準(zhǔn)則。
Visual InterDev 6.0的腳本對(duì)象模型都是用JScript來(lái)編寫(xiě)的。你也可以用VBScript來(lái)編寫(xiě)自己
的編碼,它能夠與用VBScript區(qū)分大小寫(xiě)方式編寫(xiě)的腳本對(duì)象模型一起使用。有時(shí)候,你不能夠
直接調(diào)用某一方法,除非你把這個(gè)方法的名稱傳遞到一個(gè)JScript函數(shù)中,而由函數(shù)來(lái)調(diào)用這個(gè)
方法。
一個(gè)典型的例子就是警告方法,你可以用它把一個(gè)方法綁定到一個(gè)特殊的事件上。在下面這個(gè)例
子中,一個(gè)按鈕的onmouseover事件被綁定到changecaption()事件處理程序上。
<SCRIPT LANGUAGE="VBScript">
Function setAdviseMethods()
????Btn1.advise("onmouseover", "changecaption()")
End Function
</SCRIPT>
因?yàn)槟惆堰@些名字作為字符串傳送到一個(gè)JScript函數(shù)中,所以你必須使用正確的大小寫(xiě)表示。
JScript會(huì)自動(dòng)用它的區(qū)分大小寫(xiě)的規(guī)則來(lái)檢查這些名字,如果大小寫(xiě)不正確,就會(huì)找不到它們。
4、從VBScript 往JScript中傳送數(shù)組
有時(shí)候一個(gè)VBScript程序會(huì)傳送一個(gè)數(shù)組作為它的一個(gè)參數(shù),或者作為它的返回值。你可以從JScript
中調(diào)用這個(gè)程序,不過(guò)必須把VBScript數(shù)組轉(zhuǎn)換成為一個(gè)可用的JScript數(shù)組。你只要在JScript函數(shù)中
建立一個(gè)VBArray對(duì)象并且用toArray把它轉(zhuǎn)換成為一個(gè)JScript數(shù)組就可以了。
注意:JScript不支持多維數(shù)組,如果原來(lái)的VBScript數(shù)組是多維的,經(jīng)過(guò)toArray的轉(zhuǎn)換后它會(huì)成為一
個(gè)一維的JScript數(shù)組。 在下面的例子中有一個(gè)VBScript腳本,它建立了一個(gè)數(shù)組,還有一個(gè)JScript
腳本,它將說(shuō)明如何才能獲得并使用這個(gè)數(shù)組:
<SCRIPT LANGUAGE="VBSCRIPT">
Function makeArrayVB()
????' 建立一個(gè) VBScript 數(shù)組
????dim anArray(1,1)
????anArray(0,0) = "0,0"
????anArray(0,1) = "0,1"
????anArray(1,0) = "1,0"
????anArray(1,1) = "1,1"
????makeArrayVB = anArray
End Function
<SCRIPT LANGUAGE="JavaScript">
// 在 JScript 腳本中訪問(wèn) VBScript 數(shù)組
function getVBArray(){
????var arrayObj;
????var jsArray;
????arrayObj = makeArrayVB();
????jsArray = VBArray(arrayObj).toArray();
????alert("VBScript array length = " + jsArray.length);
????
????// 顯示數(shù)組的內(nèi)容
????for(i=1;i<=jsArray.length;i++){
???????alert(jsArray[i-1]);
????}
}
</SCRIPT>
不過(guò),在目前的VBScript(4.0)中,反過(guò)來(lái)是無(wú)法做到的。也就是說(shuō)你不能把一個(gè) JavaScript 數(shù)組轉(zhuǎn)換成
為VBScript數(shù)組。如果你非要在VBScript程序中使用JavaScript數(shù)組,你可以用下面的做法:
把JScript 數(shù)組轉(zhuǎn)換成一種不同的結(jié)構(gòu),如轉(zhuǎn)換成一個(gè)由分隔符限制的字符串等,這樣VBScript 就能夠使
用了。例如,你可以用 toString 函數(shù)把一個(gè)數(shù)組轉(zhuǎn)換成一個(gè)用逗號(hào)分隔的,無(wú)限制的字符串。這樣,在
VBScript 中你就能夠用 Split 函數(shù)把它分成不同的單元。很明顯這種方法在很多時(shí)候并不管用,不過(guò)有時(shí)
又的確有效。
以上羅里羅唆的寫(xiě)了一大堆,希望能對(duì)網(wǎng)友們有幫助,也希望就某些問(wèn)題展開(kāi)討論。
最后,祝網(wǎng)友們 Happy Scripting!!