Javascript執行個體教程(21) OLE Automation(6)

來源:互聯網
上載者:User
javascript|教程

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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.