ASP编程:ASP页面内VBScript和JScript的交互(转...
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!js|jscript|vbscript|交互|页面ASP具有办理分歧言语剧本程序的才能,可以主动挪用符合的剧本引擎以注释剧本代码和实行内置函数。ASP开辟情况供应了两种剧本引擎,即VBScript(缺省)和JScript。不外,开辟者并没有被限定于只能利用这两种言语,只需可以供应符合的ActiveX剧本引擎就可以利用任何剧本言语。剧本言语的选择常常基于很多分歧缘故原由:它多是开辟者最为熟习的言语,多是对给定工程来讲可以供应最多特征撑持的,也有多是最具效力的。分歧的情况和请求使得我们在选择剧本言语时注意分歧的要素,同时也使得我们在某些时分面对选定的剧本言语不克不及间接供应别的言语固有的函数这一成绩,或某个剧本已写成但用的倒是别的一种剧本言语。
此时应当怎样办?是不是必要用以后所用的剧本言语重写这些剧本?大概说,是不是有大概在一种剧本言语中挪用别的剧本言语的内置函数?本文要申明的就是在ASP使用中怎样让VBScript剧本和JScript剧本交互以最年夜限制地取得两种剧本言语的特征撑持。
1、VBScript和JScript的内置函数
在VBScript和JScript中,有大批的内置函数功效是不异或相似的。但是,在一种剧本言语中内置的函数并不是老是在别的一种剧本言语中也有对应的函数。比方,VBScript供应了很多用于操纵字符串和格局化数据的函数,这些函数在JScript中其实不存在。这些函数包含StrReverse()、Filter()和FormatCurrency()等。在另外一方面,JScript所供应的用于办理数组、字符串编码等的函数在VBScript中也没有界说,如join()、reverse()、pow()、位操纵、escape()和unescape()等。
那末,假如在JScript程序中必要一个VBscript函数该怎样办呢?
2、异种剧本的相互挪用
假如必要在JScript剧本中挪用一个VBScript中内置的函数,则应当写一个VBScript用户界说函数(在这里挪用VBScript内置函数),然后在JScript剧本中象挪用公用JScript函数一样挪用这个用户界说函数。
比方,假如要挪用的VBSCript内置函数是FormatCurrency(),则能够声明以下自界说函数:
<SCRIPTLANGUAGE="VBSCRIPT"RUNAT="SERVER">
FunctionFormatValue(Value)
FormatValue=FormatCurrency(Value)
EndFunction
</SCRIPT>
接上去在JScript代码中就能够象一般JScript函数一样挪用FormatValue()了。用相似的办法也能够完成VBScript代码挪用JScript函数。
使用一样的划定规矩,我们能够在任何剧本内挪用任何用户界说函数。不外,从JScript剧本内挪用一个不带参数的VBScript历程(Sub)时应略加注重,此时在JScript中应当象挪用一个不带参数的JScript函数一样挪用它,如用foo()挪用VBScriptSubfoo历程。
3、数据共享
在某些情况下夹杂使用VBScript和JScript函数长短常有效的,但在分歧言语剧本之间共享数据也大概很有效。完成这类共享的办法很复杂:不论利用的是甚么言语,只需是在页面级声明的变量就能够恣意援用。
工具的利用办法也类似,能够恣意选用符合的言语读取、修正属性或挪用工具的办法。固然给定工具的属性和办法是由创立该工具实例的言语所界说的。正如上例VBScript的历程挪用,当从JScript中挪用一个不带参数的VBScript工具的办法时,其挪用办法也服从JScript的挪用划定规矩,反之亦然。
4、数组办理
数组共享成绩略微庞大一点。固然数组也象别的变量一样能够在分歧言语剧本之间共享,但必需注重兼容方面的成绩。
VBScript数组在JScript下能够用VBScript的标记援用,即用myArray(2)援用数组元素而不是JScript的数组元素援用标记myArray。别的,还可使用一个特别的JScript工具――VBArray工具将VBScript数组转换为JScript数组。上面的代码从VBScript数组myVBArray创立JScript数组myJSArray:
varTemp=newVBArray(myVBArray)
varmyJSArray
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(3)
办理该成绩的一个可行的办法是实行一个转换历程,以下面的代码所示,此处假定VBScript是缺省的剧本言语:
<%
DimTemp
DimmyVBArray
Temp=myJSArray.join(",")
myVBArray=Split(Temp,",")
%>
此处的JScriptjoin()办法将数组myJSArray元素转换到一个以逗号为支解符的字符串,VBScriptSplit()函数将字符串转换为VBScript数组。注重这里我们是在VBScript情况下挪用JScript的join办法。按照此例,我们能够经由过程自界说VBScript函数来摹拟JScript的VBArray工具的toArray()办法以完成JScript数组到VBScript数组的转换。
5、小结
在统一个ASP工程内天真选用分歧剧本言语具有很多长处,这些剧本之间的交互才能更加开辟者集成分歧言语所供应的内置函数和别的功效带来了更多的时机,同时也使得完成既可用于VBScript也可用于JScript情况的通用剧本库成为大概。
</p>SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
页:
[1]