我有以下代码:的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