使用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是不可能的。这个问题是你在编写脚本的时候所应该解决的
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是不可能的。这个问题是你在编写脚本的时候所应该解决的
闽公网安备 35060202000074号