Recursive power function: Why does this work if there's no initial return value?

前端 未结 4 2100
小蘑菇
小蘑菇 2020-12-15 14:27

because power(base, exponent) has no return value unless exponent is 0, initially, shouldn\'t power(base, exponent -1) return \'undefined\', and therefore be unmultipliable,

4条回答
  •  温柔的废话
    2020-12-15 14:53

    function pow(base, exponent) {
        if (exponent === 0) return 1;
        if (exponent > 0) {
            return base * pow(base, exponent - 1)
        } else {
            // handle negative exponent
            return 1 / base * pow(base, exponent + 1)
        }
    }
    

提交回复
热议问题