在Javascript類中使用setTimeout
更新時間:2008年01月22日 23:19:38 作者:
在Javascript類中使用setTimeout
window.setTimeout('window.Obj.shout()', 5000);另外,之前我也想到將對象保存為數組,然后引用調用,代碼如下:
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();不過個人感覺還是上述第一種方法清晰得多。
后記,Javascript 看來的確還是很多需要謹慎對待的地方,尤其是對象機制。就猶如我之前所說的,Javascript 并不比其他語言要復雜,但是它也沒有你想象中的簡單。
PS:完成這道題目以后, Google 發(fā)現(xiàn)其他的兄弟早已經解決了此類的問題,比如這里還有這里,可以對比參考一下。
--------------------------------------------------------------------------------
更新,感謝 Sheneyan 兄弟的提醒,還有另外的一個辦法就是通過 Closure(閉包) 來實現(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();看來這道題已經不能再害人了 :^)
您可能感興趣的文章:
- JavaScript window.setTimeout() 的詳細用法
- JavaScript setTimeout和setInterval的使用方法 說明
- javascript setTimeout()傳遞函數參數(包括傳遞對象參數)
- Javascript延遲執(zhí)行實現(xiàn)方法(setTimeout)
- Javascript對象中關于setTimeout和setInterval的this介紹
- javascript setTimeout和setInterval計時的區(qū)別詳解
- JavaScript SetInterval與setTimeout使用方法詳解
- Javascript的setTimeout()使用閉包特性時需要注意的問題
- javascript中setTimeout使用指南
相關文章
js遍歷json對象所有key及根據動態(tài)key獲取值的方法(必看)
下面小編就為大家?guī)硪黄猨s遍歷json對象所有key及根據動態(tài)key獲取值的方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03

