仓酷云
标题:
ASP教程之ASP页面内VBScript和JScript (转)
[打印本页]
作者:
不帅
时间:
2015-1-16 23:18
标题:
ASP教程之ASP页面内VBScript和JScript (转)
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。js|jscript|vbscript|页面ASP页面内VBScript和JScript(神仙掌事情室・CPCW)
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[2]。别的,还可使用一个特别的JScript工具――VBArray工具将VBScript数组转换为JScript数组。上面的代码从VBScript数组myVBArray创立JScript数组myJSArray:
varTemp=newVBArray(myVBArray)
varmyJSArray
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是缺省的剧本言语:
<%
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>由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。
作者:
仓酷云
时间:
2015-1-20 09:16
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者:
飘灵儿
时间:
2015-1-26 15:26
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者:
小妖女
时间:
2015-1-26 15:55
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者:
第二个灵魂
时间:
2015-1-29 07:08
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
再见西城
时间:
2015-2-1 17:13
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者:
蒙在股里
时间:
2015-2-1 21:02
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者:
愤怒的大鸟
时间:
2015-2-7 15:08
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者:
灵魂腐蚀
时间:
2015-2-22 08:33
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
作者:
若相依
时间:
2015-3-6 23:46
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者:
飘飘悠悠
时间:
2015-3-13 22:43
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2