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

Javascript
ext读取两种结构的xml的代码
javascript css float属性的特殊写法
JS网页图片查看器(兼容IE、FF)可控制图片放大缩小移动
jQuery实例入门(表格隔行变色)
js实例入门(简单展开或关闭)
Ext面向对象开发实践代码
仿迅雷焦点广告效果(JQuery版)
JQuery学习笔记 实现图片翻转效果和TAB标签切换效果
传递参数的标准方法(jQuery.ajax)
jquery $.ajax入门应用二
$.ajax json数据传递方法
JavaScript使用技巧精萃[代码非常实用]
js textarea自动下拉(带计数)图
javascript innerHTML、outerHTML、innerText、outerText的区别
输入文字自动变化宽度的INPUT,带计数(图)
一个仿Windows UI的html table,兼容IE和firefox
JS多个矩形块选择效果代码(模拟CS结构)
[原创]关键字空格替换为逗号的js代码
JavaScript CSS创建右击菜单效果代码
js调试工具 Javascript Debug Toolkit 2.0.0版本发布

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


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

使用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";