在Javascript類中使用setTimeout
window.setTimeout('window.Obj.shout()', 5000);另外,之前我也想到將對(duì)象保存為數(shù)組,然后引用調(diào)用,代碼如下:
function ObjectClass (property) {
this.property = property;
this.id = ObjectClass.cnt;
ObjectClass.objects[ObjectClass.cnt++] = this;
this.method = ObjectClass_method;
}
ObjectClass.cnt = 0;
ObjectClass.objects = new Array();
function ObjectClass_method () {
setTimeout('ObjectClass.objects[' + this.id + '].method();', 5000);
}
var obj1 = new ObjectClass('feelinglucky');
obj1.method();不過個(gè)人感覺還是上述第一種方法清晰得多。
后記,Javascript 看來的確還是很多需要謹(jǐn)慎對(duì)待的地方,尤其是對(duì)象機(jī)制。就猶如我之前所說的,Javascript 并不比其他語言要復(fù)雜,但是它也沒有你想象中的簡(jiǎn)單。
PS:完成這道題目以后, Google 發(fā)現(xiàn)其他的兄弟早已經(jīng)解決了此類的問題,比如這里還有這里,可以對(duì)比參考一下。
--------------------------------------------------------------------------------
更新,感謝 Sheneyan 兄弟的提醒,還有另外的一個(gè)辦法就是通過 Closure(閉包) 來實(shí)現(xiàn),代碼如下:
var Obj = function(msg){
this.msg = msg;
this.shout = function() {
alert(this.msg);
this.waitAndShout();
}
var _self = this;
this.waitAndShout = function() {
setTimeout(function(){_self.shout()}, 5000);
}
}
var testObj = new Obj("Hello,World!");
testObj.shout();看來這道題已經(jīng)不能再害人了 :^)
- JavaScript window.setTimeout() 的詳細(xì)用法
- JavaScript setTimeout和setInterval的使用方法 說明
- javascript setTimeout()傳遞函數(shù)參數(shù)(包括傳遞對(duì)象參數(shù))
- Javascript延遲執(zhí)行實(shí)現(xiàn)方法(setTimeout)
- Javascript對(duì)象中關(guān)于setTimeout和setInterval的this介紹
- javascript setTimeout和setInterval計(jì)時(shí)的區(qū)別詳解
- JavaScript SetInterval與setTimeout使用方法詳解
- Javascript的setTimeout()使用閉包特性時(shí)需要注意的問題
- javascript中setTimeout使用指南
相關(guān)文章
一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲
實(shí)現(xiàn)一個(gè)五子棋游戲, 簡(jiǎn)要分析其原理, 頁(yè)面并沒有很花哨, 原理搞懂了, 后面的就是很輕松的事了,本文給大家介紹了如何用純JS實(shí)現(xiàn)一個(gè)五子棋游戲,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12基于Javascript實(shí)現(xiàn)返回頂部按鈕
這篇文章主要為大家詳細(xì)介紹了基于Javascript實(shí)現(xiàn)返回頂部按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決
這篇文章主要為大家介紹了H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Javascript中eval函數(shù)的詳細(xì)用法與說明
Javascript中eval函數(shù)的詳細(xì)用法與說明...2007-03-03給事件響應(yīng)函數(shù)傳參數(shù)的四種方式小結(jié)
這篇文章主要介紹了給事件響應(yīng)函數(shù)傳參數(shù)的四種方式。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12基于js Canvas實(shí)現(xiàn)二次貝塞爾曲線
這篇文章主要為大家詳細(xì)介紹了基于js Canvas實(shí)現(xiàn)二次貝塞爾曲線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12javascript實(shí)現(xiàn)表格增刪改操作實(shí)例詳解
這篇文章主要介紹了javascript實(shí)現(xiàn)表格增刪改操作的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了javascript操作表格的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05微信小程序?qū)崿F(xiàn)頁(yè)面左右滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)頁(yè)面左右滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11AutoSave/自動(dòng)存儲(chǔ)功能實(shí)現(xiàn)
AutoSave/自動(dòng)存儲(chǔ)功能實(shí)現(xiàn)...2007-03-03