我有以下代碼:的JavaScript的setInterval - 傳遞函數指針,而不是字符串
XService.start = function() {
setInterval("XService.poll()", XService.pollInterval); }
這個偉大的工程。然而,當我這樣做(傳遞函數作爲參考,而不是具有串eval'd)停止工作:
XService.start = function() {
setInterval(XService.poll, XService.pollInterval); }
爲什麼?我究竟做錯了什麼?我的代碼中沒有其他更改。我也在第二個版本中嘗試了XService.poll(),但也沒有使用骰子。我讀的文件說離開()。
幫助?
編輯:XService.poll是一個函數; XService.pollInterval是一個數字。兩者都被正確聲明和分配。
EDIT2:本Xservice的代碼:
XService = {};
XService.pollUrl = "/Poll";
XService.pollInterval = 60000;
XService.poll = function() {
$.get(this.pollUrl, null, null, "text"); }
XService.start = function() {
setInterval(XService.poll, XService.pollInterval); }
您是否收到任何錯誤? – 2009-09-18 20:37:11
我們可以看到XService的整個代碼嗎?它可能與它被定義的方式以及實時/運行時行爲以及eval如何執行不同有關。 – 2009-09-18 20:38:03
發表了XService代碼 – Alex 2009-09-18 20:40:26