以JS为例
function func(){
...
...
if(!...){
func();
return;
}
...
...
if(!...){
func();
return;
}
...
...
func();
}
我有个需求是不停的执行这个任务,条件不成立则重新执行,这样的循环有什么弊端呢~ 感觉怪怪的~~
如果有弊端java、js、php、中弊端相同吗?
递归调用的话,会有最大调用栈的限制,当然……如果业务判断都超出了最大调用栈那确实很可怕了。
还有一个问题,就是递归进去的可能存在内存不释放的问题,可以换个方案,如使用
do...while
。