电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> ASP
使用VBScript和JScript编写WEB应用程序(三)
作者:网友供稿 点击:20
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
使用vbscript和jscript编写web应用程序(三)

3、区分大小写以及命名习惯
jscript是严格区别大小写的:在每个jscript的关键字,每个jscript命名空间的所有部分中,
你可以把大写和小写字母恰当的结合起来使用。这其中包括了你使用的对象模型中所有的关键
字。例如,当你使用asp response对象时,必须正确地使用大小写字母(如response.write),
否则jscript会坚决不予承认。同样,如果你为dhtml onclick事件编写一个处理程序,如果用
在visual basic中经常发生的随便使用大小写的形式jscript可能就不会承认。

vbscript是不区分大写和小写字母的。在某种程度上,这种不计较大小写的疏忽甚至在你用
vbscript对jscript编写的单元进行访问时都没什么问题。下面例子中给出了两个脚本。第一
个是用jscript编写的,其中还包括了一个全局变量(ctr)和一个函数(doubleme)。第二个
脚本是用vbscript编写的,它是一个按钮处理程序,它能够调用jscript函数,并且报告全局
变量的值。

<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 函数和ctr变量时,没有正确使用字母的大小
写,但是程序依然运行良好。 这是一个好消息。而坏消息就是,在下面这些情况下你一定要注
意字母的大小写:如果网页中的javascript脚本所包含的单元只能够通过字母的大写和小写来
区分,例如,一个叫做timer()的函数和一个叫做timer的全局变量等等。很不幸,尽管这种编
码方式不怎么好,但是有时候在你的网页中还是可能会遇到原来就存在的编码。

在一个函数调用中把jscript单元的名字作为一个字符串参数来使用

如果jscript包括的单元仅仅能够用字母的大小写来区分,那么vbscript就会把它们看成一样的
(也就是说,不区分大写和小写)。vbscript只能看看不管大小写的区别,它们是不是一样,
因此它识别出的只有一个jscript单元。换一句话说,如果vbscript首先找到的是叫做timer()
的函数,那么它就无法找到叫做timer的全局变量了,反之也是一样。即便你在vbscript编码中
十分注意的把它们做了区别结果也是一样。因为vbscript在处理这些名字的时候认为它们只有一
种写法。不幸的是,这里没有其它的解决方法,除非在jscript的代码中不利用这些大小写之间
的微小差别来区分不同的函数名称。

除了在某些特殊的情况下,把单元名作为参数使用这种问题并不常见。特殊情况之一是在visual
interdev 6.0中的脚本对象模型中。下面我会把它作为一个例子来使用,你可以把它看作是相同
情况下的处理准则。

visual interdev 6.0的脚本对象模型都是用jscript来编写的。你也可以用vbscript来编写自己
的编码,它能够与用vbscript区分大小写方式编写的脚本对象模型一起使用。有时候,你不能够
直接调用某一方法,除非你把这个方法的名称传递到一个jscript函数中,而由函数来调用这个
方法。

一个典型的例子就是警告方法,你可以用它把一个方法绑定到一个特殊的事件上。在下面这个例
子中,一个按钮的onmouseover事件被绑定到changecaption()事件处理程序上。

<script language="vbscript">
function setadvisemethods()
    btn1.advise("onmouseover", "changecaption()")
end function
</script>

因为你把这些名字作为字符串传送到一个jscript函数中,所以你必须使用正确的大小写表示。
jscript会自动用它的区分大小写的规则来检查这些名字,如果大小写不正确,就会找不到它们。

4、从vbscript 往jscript中传送数组
有时候一个vbscript程序会传送一个数组作为它的一个参数,或者作为它的返回值。你可以从jscript
中调用这个程序,不过必须把vbscript数组转换成为一个可用的jscript数组。你只要在jscript函数中
建立一个vbarray对象并且用toarray把它转换成为一个jscript数组就可以了。

注意:jscript不支持多维数组,如果原来的vbscript数组是多维的,经过toarray的转换后它会成为一
个一维的jscript数组。 在下面的例子中有一个vbscript脚本,它建立了一个数组,还有一个jscript
脚本,它将说明如何才能获得并使用这个数组:

<script language="vbscript">
function makearrayvb()
     建立一个 vbscript 数组
    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 脚本中访问 vbscript 数组
function getvbarray(){
    var arrayobj;
    var jsarray;
    arrayobj = makearrayvb();
    jsarray = vbarray(arrayobj).toarray();
    alert("vbscript array length = " + jsarray.length);
    
    // 显示数组的内容
    for(i=1;i<=jsarray.length;i++){
       alert(jsarray[i-1]);
    }
}
</script>
不过,在目前的vbscript(4.0)中,反过来是无法做到的。也就是说你不能把一个 javascript 数组转换成
为vbscript数组。如果你非要在vbscript程序中使用javascript数组,你可以用下面的做法:
把jscript 数组转换成一种不同的结构,如转换成一个由分隔符限制的字符串等,这样vbscript 就能够使
用了。例如,你可以用 tostring 函数把一个数组转换成一个用逗号分隔的,无限制的字符串。这样,在
vbscript 中你就能够用 split 函数把它分成不同的单元。很明显这种方法在很多时候并不管用,不过有时
又的确有效。

以上罗里罗唆的写了一大堆,希望能对网友们有帮助,也希望就某些问题展开讨论。
最后,祝网友们 happy scripting!!

我心飞扬敬上

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·如何使XP的目录属性出现"安全"选项-ASP教程,系统相关
·创建有个性的对话框之MFC篇(二)-ASP教程,系统相关
·用InstallShield打包ASP程序-ASP教程,ASP应用
·windows server 2003 中 SQL Server 2000 分布式事务 错误解决方法-ASP教程,系统相关
·创建有个性的对话框之MFC篇(一)-ASP教程,系统相关
·DevExpress打印相关代码-ASP教程,打印相关
·File文件控件,选中文件(图片,flash,视频)即立即预览显示-ASP教程,组件开发
·用Windows的文件映射机制,实现大批量数据的快速存储-ASP教程,系统相关
·ADO如何取得数据库中表的字段信息之一
·使用DEVEXPRESS部件打印时标题的处理-ASP教程,打印相关

最新文章
· SQL注入天书 - ASP注入漏洞全接触
·用.net 处理xmlHttp发送异步请求
·asp.net创建文件夹的IO类的问题
·如何实现ASP.NET网站个性化
·关于ASP.NET调用JavaScript的实现
·ASP利用Google实现在线翻译功能
·Asp无组件生成缩略图
·由HTTP 500 Internal server error想到的...
·实例讲解asp抓取网上房产信息
·改mdb为asp所带来的灾难




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号