为什么setInterval()在我的ES6代码中不起作用?

时间:2016-03-08 15:59:58

标签: javascript

我有一个名为main的类,其方法名为setDate()。在构造函数方法中,我放置了行:setInterval(main.setDate(), 10000),它只运行对象实例化的初始时间。如果我将该行作为尾部调用放在setDate()方法中,它将无限运行&打破浏览器会话。

1 个答案:

答案 0 :(得分:7)

尝试传递function reference

setInterval(main.setDate, 10000);

你在呼唤它。因此将调用该函数,并将其返回值作为第一个参数传递给setInterval

您还可以通过将函数调用作为字符串传递来实现所需的效果,

setInterval("main.setDate()", 10000);

但不建议传递字符串,因为它会在窗口范围内被eval引导。