javascript - 请问,这个方法(递归)为什么会导致内存溢出?
本文介绍了javascript - 请问,这个方法(递归)为什么会导致内存溢出?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function getClosestOperator($source) {
var $closestContainer = $source.closest('div.tableStyle-2-container');
var $closestOperator = $closestContainer.children('div.tableStyle-2-operator');
if($closestOperator.length == 0) {
getClosestOperator($closestContainer);
} else {
return $closestOperator
}
};
解决方案
当$closestContainer
是空数组的时候,$closestOperator.length
就是0,而且在递归也是一样。
function getClosestOperator($source) {
var $closestContainer = $source.closest('div.tableStyle-2-container');
var $closestOperator = $closestContainer.children('div.tableStyle-2-operator');
if(!$closestContainer.length)return null;
if($closestOperator.length == 0) {
return getClosestOperator($closestContainer);
} else {
return $closestOperator
}
};
这篇关于javascript - 请问,这个方法(递归)为什么会导致内存溢出?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文