如何在网页上使用VBScript和JScript(7)

作者:winsky 来源:无忧脚本 时间:2008-05-05 19:53:00 

区分大小写以及命名习惯

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){ // Initialize value of global counter if(parseInt(ctr)){

ctr = ctr + 1;}

else{

ctr = 1;

}

return aNumber * 2;

}

</SCRIPT> 

<SCRIPT LANGUAGE="vbscript">

Function btn1_onclick()

numberToDouble = 12

alert("The doubled number = " & DoubleMe(numberToDouble))

alert("You have doubled the number " & Ctr & " times.")

End function

</SCRIPT> 

在VBScript脚本中,很明显,我在提到doubleMe 函数和ctr变量时,没有正确使用字母的大小写,但是程序依然运行良好。

这是一个好消息。而坏消息就是,在下面这些情况下你一定要注意字母的大小写:

如果网页中的JScript脚本所包含的单元只能够通过字母的大写和小写来区分,例如,一个叫做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会自动用它的区分大小写的规则来重新评估这些名字,如果大小写不正确,它会找不到它们。

标签:VBScript,JScript之间,dhtml,脚本
0
投稿

猜你喜欢

  • Pygame实战之实现经典外星人游戏

    2021-05-10 00:31:44
  • 最新python 字符串数组互转问题

    2023-07-07 18:34:06
  • Python 3.10 中 6 个兴奋的新特性

    2021-02-21 03:30:26
  • python局域网ip扫描示例分享

    2022-10-19 08:43:45
  • pymongo实现多结果进行多列排序的方法

    2023-08-27 21:33:42
  • Mysql升级到5.7后遇到的group by查询问题解决

    2024-01-16 12:17:50
  • 在ASP中使用SQL语句之12:连接

    2009-04-23 18:27:00
  • Python-apply(lambda x: )的使用及说明

    2022-05-11 04:31:29
  • Django在pycharm下修改默认启动端口的方法

    2023-09-27 09:04:07
  • python机器学习使数据更鲜活的可视化工具Pandas_Alive

    2022-09-26 04:57:12
  • 如何编写Go语言中间件的实例教程

    2024-04-25 15:29:05
  • Python实现监控Nginx配置文件的不同并发送邮件报警功能示例

    2023-09-22 11:07:33
  • Python实现获取网页内容及自动填表单与登录功能

    2023-10-23 23:55:27
  • 一步步教你在Navicat上如何停止正在运行的MYSQL语句

    2024-01-21 06:17:01
  • 在PyCharm下使用 ipython 交互式编程的方法

    2021-05-06 11:12:01
  • Javascript 虚拟 DOM详解

    2024-04-18 10:31:30
  • Python基于pip实现离线打包过程详解

    2021-09-13 06:11:08
  • php微信公众号开发(4)php实现自定义关键字回复

    2024-04-28 09:45:33
  • Python中二维列表如何获取子区域元素的组成

    2021-02-16 02:41:01
  • ASP充分利用Err.Description

    2009-06-24 11:12:00
  • asp之家 网络编程 m.aspxhome.com