递归函数返回未定义
提供的函数使用递归计算税金,但无法停止递归。此问题是由于函数的递归臂内未返回值而引起的。
在 if (taxWage > minWage) 块内:
if (taxWage > minWage) { // calculates tax recursively calling two other functions difference() and taxStep() tax = tax + difference(taxWage) * taxStep(taxWage); var newSalary = taxWage - difference(taxWage); taxes(tax, newSalary); }
代码递归计算税金,但不计算税金返回一个值或设置 returnTax。缺少 return 语句会导致未定义的返回值。
要纠正此问题,可以向此臂添加 return 语句:
if (taxWage > minWage) { // calculates tax recursively calling two other functions difference() and taxStep() tax = tax + difference(taxWage) * taxStep(taxWage); var newSalary = taxWage - difference(taxWage); return taxes(tax, newSalary); }
通过此调整,该函数现在将返回一个值,防止递归无限期地继续。
以上是为什么我的递归税收计算函数返回未定义?的详细内容。更多信息请关注PHP中文网其他相关文章!