Javascript 为什么setInterval()在我的ES6代码中不起作用?
我有一个名为main的类,其方法名为Javascript 为什么setInterval()在我的ES6代码中不起作用?,javascript,Javascript,我有一个名为main的类,其方法名为setDate()。在构造函数方法中,我放了一行:setInterval(main.setDate(),10000),它只在对象初始化时运行。如果我将该行作为尾部调用放入setDate()方法中,它将无限运行并中断浏览器会话。尝试传递函数引用 setInterval(main.setDate, 10000); 你在叫它。因此将调用该函数,并将其返回值作为第一个参数传递给setInterval 您还可以通过将函数调用作为字符串传递来实现所需的效果 setInt
setDate()
。在构造函数方法中,我放了一行:setInterval(main.setDate(),10000)
,它只在对象初始化时运行。如果我将该行作为尾部调用放入setDate()
方法中,它将无限运行并中断浏览器会话。尝试传递函数引用
setInterval(main.setDate, 10000);
你在叫它。因此将调用该函数,并将其返回值作为第一个参数传递给setInterval
您还可以通过将函数调用作为字符串传递来实现所需的效果
setInterval("main.setDate()", 10000);
但不建议传递字符串,因为它将
eval
放在窗口范围的引擎盖下。不要传递字符串。@SLaks解释道。谢谢你指出。如果这是重复的,很抱歉。我找不到类似的问题。