作者:emu(黃希彤)今天和徐鵬程msn的時(shí)候聊起javascript不支持多線程。以前也看過(guò)有高手在wsh上可以創(chuàng)建thread對(duì)象,但是畢竟不是常規(guī)手段,我們做web應(yīng)用一般沒(méi)有本地訪問(wèn)權(quán)限的,用activex的沒(méi)試過(guò),畢竟也不是javascript方式。
以前我們解決這樣的問(wèn)題都是針對(duì)具體問(wèn)題寫(xiě)一段代碼來(lái)模擬多線程的,但是由于往往要對(duì)沒(méi)個(gè)線程單獨(dú)編碼,這樣的代碼十分冗長(zhǎng)。學(xué)習(xí)設(shè)計(jì)模式的時(shí)候就曾經(jīng)考慮過(guò)在javascript中實(shí)用command模式來(lái)更好的模擬多線程,但是一直沒(méi)有付諸實(shí)施,今天既然想起來(lái)了就試試看:
注意第26行。javascript里面函數(shù)也是對(duì)象,所以就沒(méi)有必要把函數(shù)調(diào)用包裝到do或者execute方法里面了,直接用()就可以讓函數(shù)對(duì)象運(yùn)行起來(lái):command(); shift和push函數(shù)是javascript中array對(duì)象的函數(shù),可是IE5居然沒(méi)有定義,最前面兩個(gè)函數(shù)是為IE5準(zhǔn)備的。 在IE和FireFox下面通過(guò)作者:emu(黃希彤)。
Powered by: BlogJava Copyright © emu