当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(21) OLE Automation(7)

Javascript
JavaScript如何重构嵌套循环和递归
JS应用在Firebug中的扩展架构模式
提升JS性能:将递归转换为迭代
IE7浏览器下缩放图片失真问题
JavaScript对DOM进行操作的指导性原则
JavaScript有趣实例:胸罩罩杯尺寸计算器
Firefox的Firebug扩展:FireScope
Mozilla的JavaScript引擎__noSuchMethod__()方法
JavaScript+CSS制作的网站导航菜单
javascript的私有成员(private)
Javascript绘制分析曲线图
ie6使用js支持hover伪类
收集的25个下拉网页菜单特效Javascript脚本
Javascript框架的自定义事件
总结Javascript调用函数的方法
JS教程:call、apply、callee用法
JS教程:数组类型检测和集合检测
兼容FF的设为首页与收藏网站的JS代码
Javascript教程:PopUp对象
JS读写Cookie以及设置过期时间

Javascript实例教程(21) OLE Automation(7)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 214 ::
收藏到网摘: n/a

使用JavaScript中的OLE Automation

7. 怎样处理集对象

Automation对象与其它的Jscript对象有些有相同的结构。它暴露了多种方法和属性,我们可以对它们进行处理。如果你从来没有接触Visual Basic,你可能就不熟悉集对象了。集就是相关项的组。集用在Visual Basic主要是为了保持跟踪许多事情,比如从你的程序(表单集)中装载表单,或者表单(控件集)中的所有控件。

Visual Basci提供了集类,这样你就可以创建你自己的集了。在集对象中的每一项被定义为一个Variant,即Visual Basic中的一种16字节的数据类型。OLE Automation集即使一些通过标准OLE界面暴露出来的集。一个集对象包含四个标准的元素:

(1)colObj.Add(item[, key][, before]);

Add()方法为集增加项。除了数据本省,你还可以利用从集中的得到的成员来指定一个关键数值。这里注意,最后一个参数不能通过Jscript来指定。

(2)colObj.Count

Count属性返回了在集中项的数目。

(3)colObj.Item(index)

Item()方法利用所以从集中取回项。

(4)colObj.Remove(index);

这个Remove()方法是通过所以来从集中删除项。


集跟数组很相似,但是有下面的理由反应集是更好的选择:


从数组中间删除一项是很笨拙的。而Remove()方法使得用户可以很容易地删除集中的任何项,这是根据它在集中的位置或者项的键。


你不必重新定义一个集对象,而在Visual Basic中要经常改变动态数组的长度。所以这会使得结果更清除,代码具有较好的可维持性。

(3)利用键,集对象有非常快速检索能力,而数组就不行了。即使你不知道项在集中的位置,你都可以键容易地找到它。

既然我们处理Automation 对象,所以熟悉集是很重要的。在的脚本中即会发现你正在处理它们,而且,你还会注意到Item()方法的重要性,如下所示:

colWorkOrders.Item("W050580").Priority = 4;

JavaScript处理集的主要问题是它没有任何的函数可以循环浏览集中的每一项。而在Visual Basic(或者VBScript)可以利用For Each..Next结构,但是利用Jscript是不可能的。这个问题是你在编写脚本的时候所应该解决的