服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

javascript实例教程(20) ole automation(6)

使用javascript中的ole automation

6. 怎样提高脚本程序的性能

自从我们处理重的对象模型(比如word.application)和应用程序实例,注意系统的资源示相当重要的。一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例。在jscript中有唯一的方法来实现,它就是应用程序对象的quit()方法,以下是一个例子:

var wdapp = new activexobject("word.application");

wdapp.quit(); // tidy up

在visual basic中,不象jscript和vbscript,设置对象变量为空是不能清除内存的。而且,如果没有其它对这个对象进行引用的话,这样的赋值操作将导致应用程序的关闭。不幸的是,在jscript中我们必须使用quit()方法在我们已经使用对象的时候来将它从内存中清除。而设置变量为零长度的字符串或者为空只是一个好的练习,它并不能起到清除内存的作用。

在教程中放置点至少代码了一个过程调用不得不在背景中被执行。最好得解决方法就是局部化高速缓冲对象引用。总得说来,这个技巧可以应用到对象以及automation对象。下面看看脚本片段:


var exapp = new activexobject("excel.application");

exapp.workbooks(1).worksheets(1).cells(1, 1).value = "first cell";

exapp.workbooks(1).worksheets(1).cells(1, 2).value = "second cell";

exapp.workbooks(1).worksheets(1).cells(1, 3).value = "third cell";

exapp.workbooks(1).worksheets(1).cells(1, 4).value = "fourth cell";

exapp.workbooks(1).worksheets(1).cells(1, 5).value = "fifth cell";


下面的代码说明了以更有效的方法来实现:

var exapp = new activexobject("excel.application");

var exwbook = exapp.workbooks(1).worksheets(1);

exwbook.cells(1, 1).value = "first cell";

exwbook.cells(1, 2).value = "second cell";

exwbook.cells(1, 3).value = "third cell";

exwbook.cells(1, 4).value = "fourth cell";

exwbook.cells(1, 5).value = "fifth cell";

扫描关注微信公众号