如果外部功能中的数字在内部功能列表中
,我正在创建一个返回true的函数<script>
function hasMatch(item) {
hasMatch(2)
function inList() {
var List = [1,2,3,4];
for (i = 0; i<List.length; i++){
if (list[i] == item) {
return true;
} else {
return false;
}
}
}
inList();
}
hasMatch();
</script>
我收到“最大堆栈超出错误”,我该怎么解决这个问题?
答案 0 :(得分:0)
hasMatch(2)
是递归调用,没有任何终止条件。
hasMatch()
被无限调用,这就是为什么你看到堆栈超出错误的原因。
function hasMatch(item) {
function inList() {
var List = [1,2,3,4];
for (i = 0; i<List.length; i++){
if (List[i] == item) {
return true;
} else {
return false;
}
}
}
return inList();
}
hasMatch(2);