我试图让一个递归函数在jQuery的工作,但我得到以下异常:递归jQuery中 - 命理
“未捕获的RangeError:最大调用堆栈大小超出”
我的理解是递归函数必须以某种方式无限运行,但我无法弄清楚为什么会发生这种情况。谢谢...
jQuery.fn.reduceNumber = function(numberToReduce) {
if (numberToReduce < 10 || numberToReduce == 11 || numberToReduce == 22 || numberToReduce == 33){
return numberToReduce;
} else {
var newNumberToReduce = numberToReduce.toString().substring(0,1) + numberToReduce.toString().substring(1,2);
return ($(this).reduceNumber(newNumberToReduce));
}
}
$(document).ready(function(){
$("#foo").html($(this).reduceNumber(12));
});
以何种方式减少数量?现在唯一减少的方法是获取前两位数字,如果数字有三位数或更多。你这样做的奇怪的方式表明其他东西实际上是有意的。 – Guffa 2014-11-25 11:41:20