我检查了一下,代码跑完return后函数没有结束,还在继续执行后面的代码,求解哪里出了问题
实际上你在loop遍历了一个数组,所以你的loop递归分支也不是回到唯一一个。所以你这里需要判断的是是否每一个分支都结束了。
其中一个return了不表示所有都return了,你需要更细的跟踪。
if通过了吗?
在里面console一下看有没有进到条件里面。
if(...){ console.log(1); return; }
return前
return
console.log('return'); // 确保进来了。
应该是调试器的问题,return 语句执行后是不会向下执行的。建议重启调试器,调试代码运行流程
我看你的函数名,这应该是在循环里的一个函数吧return只是结束当前循环如果想直接跳出整个循环,可以用break
你确定你的if语句执行了?
你在if语句上面输出一下你if里面的判断,看它执行了几次,是不是有false,没有进到if里面的情况
唯一的可能就是 if 条件为 false,在 if 语句前面打个debugger看一下实时的判断条件结果吧。
debugger
return false; 或者 break;呢
return false;
break;
10 回答11k 阅读
6 回答2.9k 阅读
5 回答4.7k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
实际上你在loop遍历了一个数组,所以你的loop递归分支也不是回到唯一一个。所以你这里需要判断的是是否每一个分支都结束了。
其中一个return了不表示所有都return了,你需要更细的跟踪。