Javascript 试图编写赢得';在一天中的某个时间之前,我不会做任何事情,但我会收到错误消息;超过最大堆叠深度“;

Javascript 试图编写赢得';在一天中的某个时间之前,我不会做任何事情,但我会收到错误消息;超过最大堆叠深度“;,javascript,google-apps-script,Javascript,Google Apps Script,这是我的代码: var d=新日期(); 函数myFunction(){ ifNewDay(); } 函数ifNewDay(){ var currentTime=d.toLocaleTimeString(); 如果(当前时间==“美国东部夏令时凌晨3:21:00:00”){ Logger.log(“现在是下午3:21”); }否则{ ifNewDay(); } }递归的深度是有限制的,在您的情况下,在短时间内调用的次数很多 当你调用一个函数时,它会被添加到内存中的堆栈中,而堆栈的大小是有限制的

这是我的代码:

var d=新日期();
函数myFunction(){
ifNewDay();
}
函数ifNewDay(){
var currentTime=d.toLocaleTimeString();
如果(当前时间==“美国东部夏令时凌晨3:21:00:00”){
Logger.log(“现在是下午3:21”);
}否则{
ifNewDay();
}

}
递归的深度是有限制的,在您的情况下,在短时间内调用的次数很多

当你调用一个函数时,它会被添加到内存中的堆栈中,而堆栈的大小是有限制的。你可以阅读更多关于它是如何工作的


您只能每隔一秒左右,或者至少半秒左右使用并调用该函数。

使用时间驱动触发器似乎是最有效的方法。你研究过触发器吗?

啊,我有预感它与递归有关。谢谢你的回答,没问题!顺便说一句,我不知道你用它做什么,但通常在系统中设置一些预定任务是做类似这样的定期工作的更好方法,而不是检查是否是时间。