VBSctipt 5.0中的新特性

VBSctipt 5.0中的新特性

能够在ASP中应用的特性包括了那些由脚本引擎所提供的特性,这意味着VBScript的改进也可在ASP中应用。VBScript的改进如下所述:

1、 在脚本中使用类
在VBScript中实现完整的VB类(class)模型,但明显的例外是在ASP服务器端的脚本事件。可以在脚本中创建类,使它们的属性和方法能够和用于页面的其余代码,例如:
Class MyClass

Private m_HalfValue ‘Local variable to hold value of HalfValue

Public Property Let HalfValue(vData) ‘executed to set the HalfValue property
If vData > 0 Then m_HalfValue = vData
End Property

Public Property Get HalfValue() ‘executed to return the HalfValue property
HalfValue = m_HalfValue
End Property

Public Function GetResult() ‘implements the GetResult method
GetResult = m_HalfVaue * 2
End Function
End Class

Set ObjThis = New MyClass

ObjThis.HalfValue = 21

Response.Write “Value of HalfValue property is “ & objThis.HalfValue & “<BR>”
Response.Write “Result of GetResult method is “ & objThis.GetResult & “<BR>”

这段代码产生如下结果:
Value of HalfValue property is 21
Result of GetResult method is 42

2、 With结构
VBScript 5.0支持With结构,使访问一个对象的几个属性或方法的代码更加紧凑:

Set objThis = Server.CreateObject(“This.object”)

With objThis
.Property1 = “This value”
.Property2 = “Another value”
TheResult = .SomeMethod
End With

3、 字符串求值
Eval函数(过去只在JavaScript和Jscript中可用)目前在VBScript 5.0中已经得到了支持。允许创建包含脚本代码的字符串,值可为True或False,并在执行后可得到一个结果:

datYourBirthday = Request.Form(“Birthday”)
strScript = “datYourBirthday = Date()”

If Eval(strScript) Then
Response.write “Happy Brithday!”
Else
Response.write “Have a nice day!”
End If

4、 语句执行
新的Execute函数允许执行一个字符串中的脚本代码,执行方式与Eval函数相同,但是不返回结果。它可以用来动态创建代码中稍后执行的过程,例如:

strCheckBirthday = “Sub CheckBirthday(datYourBirthday)” & vbCrlf_
& “ If Eval(datYourBirthday = Date()) Then” & vbCrlf_
& “ Response.Write “”Happy Birthday!””” & vbCrlf_
&” Else” & vbCrlf_
&” Response.write “”Have a nice day!””” & vbCrlf_
&” End If” & vbCrlf_
&”End Sub” & vbCrlf
Execute strCheckBirthday
CheckBirthday(Date())

一个回车返回(如程序中示)或冒号字符“:”可用来分隔一个字符串中的各条语句。

5、 设置地区
新的SetLocale方法可以用来改变脚本引擎的当前地区,可正确显示特殊的地区特定字符,如带重音符的字符或来自不同字符集的字符。
StrCurrentLocale = GetLocale
SetLocale(“en-gb”)

6、 正则表达式
VBScript 5.0现在支持正则表达式(过去只在JavaScript、Jscript和其他语言中可用)。RegExp对象常用来创建和执行正则表达式,例如:
StrTarget = “test testing tested attest late start”
Set objRegExp = New RegExp ‘create a regular expression

ObjRegExp.Pattern = “test*” ‘set the search pattern
ObjRegExp.IgnoreCase = False ‘set the case sensitivity
ObjRegExp.Global = True ‘set the scope

Set colMatches = objRegExp.Execute(strTarget) ‘execute the search

For Each Match in colMatches ‘iterate the colMatches collection
Response.Write “Match found at position” & Match.FirstIndex & “.”
Resposne.Write “Matched value is ‘” & Match.Value & “’.<BR>”
Next
执行结果如下:
Match found at position 0. Matched value is ‘test’.
Match found at position 5. Matched value is ‘test’.
Match found at position 13. Matched value is ‘test’;
Match found at position 22. Matched value is ‘test’.

7、 在客户端VBScript中设置事件处理程序
这不是直接应用于ASP的脚本技术,这个新的特性在编写客户端的VBScript时是很有用的。现在可以动态指定一个函数或子程序与一个事件相关联。例如,假设一个函数的名称为MyFunction(),可把这指定给按钮的OnClick事件:
Function MyFunction()

Function implementation code here

End Function

Set objCimButton = document.all(“cmdButton”)
Set objCmdButton.OnClick = Get
[1] [2] 下一页  

时间: 2024-08-01 21:12:10

VBSctipt 5.0中的新特性的相关文章

ASP 3.0中的新特性

    假如读者已经熟悉了ASP 2.0,并正在寻找3.0版本中的实际改变的列表,那么将在下面发现这些信息.假如读者是一个ASP的初学者,可以越过本章到下一章,那里循序渐进地介绍了ASP对象和它们的用法.    ASP 3.0新特性概要    在ASP 3.0中,有一些新的特性或经历较大的变化或改进的特性.    1. 无脚本的ASP    如早先提到的, ASP处理不包括任何脚本的.asp页的速度是很快的,假如你正在创建的站点或Web应用程序文件最终可能使用ASP,最好让这些文件使用.asp文

ASP.NET 2.0 中的SqlCacheDependency特性

asp.net|cache ASP.NET中的Page Cache是个很有用的东东,只要简单的在页面上方加上一个OutputCache标签,就可以让页面在制定的Duration内直接把自动保存在缓存中的页面内容输出,而不需要让ASP.NET引擎再次执行页面代码,当然,节省这点执行时间并不是最主要的理由,主要理由是如果页面内容是从数据库中取出,那么就可以省去连接数据库.取数据的步骤,这个好处可大了.       PageCache有点小小的问题,比如,很多ASP.NET论坛的首页就用了PageCa

iOS 各版本中的新特性(What&amp;#39;s New in iOS)- 目录翻译完成

iOS 各版本中的新特性(What's New in iOS) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 介绍 Introduction文档组织结构 Organization of Thi

iOS7 中的新特性

iOS7 中的新特性 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 介绍 Introduction文档组织结构 Organization of This Document  iOS 7.0 用

简单谈谈PowerShell 4.0中的新命令_PowerShell

随着PowerShell 3.0和Windows Server 2012版本的发布,微软提升了Windows PowerShell的功能,在PowerShell 4.0和Windows Server 2012 R2版本发布时,微软还会继续添加新功能和改善已有功能.本文中,我们盘点了PowerShell 4.0中的十个新命令. Save-Help Get-Help是PowerShell入门级命令.Get-Member帮助获取内容,你可以用它查看另一个PowerShell对象的属性和方法.Power

PHP V5.3 中的新特性,第 5 部分: 从 PHP V5.2 升级到 PHP V5.3

简介 本系列着重介绍 PHP V5.3 中的新特性,例如名称空间.闭包.对象管理.面向对象编程和 Phar.虽然这些动人的新特性作为该语言的增补广受欢迎,但 PHP V5.3 同时也是为进一步优化 PHP 而设计的.它构建在流行.稳定的 PHP V5.2 的基础上,并对该语言作了增强,使之更加强大.在本文中,了解 PHP V5.3 中的变化,以及从 PHP V5.2 升级到 PHP V5.3 时需要考虑的一些事情.   回页首 语法变化 该语言新增了名称空间和闭包(在 第 2 部分 和 第 3

ADO.NET2.0跟ADO.NET3.0的一些新特性简要介绍

ado 觉得很多人在写关于ASP.NET2.0的东东,很少有人写关于ADO.NET2.0的新特性.查找了一下MSDN,给大家介绍几点好了.(如果需要察看所有ADO.NET2.0的新特性,请查看 http://msdn2.microsoft.com/en-us/library/ex6y04yf.aspx) Server Enumeration 用来枚举活动状态的SQL Server实例,版本需要在SQL2000及更新版本.使用的是SqlDataSourceEnumerator类 可以参考以下示例代

WebSphere Application Server V7中的新特性

IBM WebSphere Application Server V7 中包括一些功能强大的新特性和显著的增强功能,以帮助您实现更高的工作效率.更强的安全性.更紧密的集成和简化的管理.了解这个新版本中的关键特性,这些特性使得该版本可以为您的面向服务的体系结构提供灵活而可靠的基础. 引言 IBM WebSphere Application Server 为面向服务的体系结构(Service Oriented Architecture,SOA)应用程序交付敏捷.可靠的基础,以使应用程序与业务和 IT

Android 5.0鲜为人知的新特性

腾讯数码讯(编译:Raul)现在,各大手机厂商都已经开始陆续推送谷歌最新的Android 5.0 Lollipop系统,甚至谷歌旗下的Nexus系列机型都已经OTA推送了Android 5.0.2版本.对于谷歌的新系统,许多拥有升级资格的Android用户来说真的都非常期待. Android Lollipop最引人注目的改变之一就是重新设计的用户界面.谷歌官方将这一代的系统采用的设计语言命名为Material Design.除此之外,5.0系统还优化了通知栏系统,比如用户可以在锁屏界面直接访问通