js sobre el retorno en recursividad

Primero mire el código del asunto y elimine el último retorno en la función según sea necesario

Primero llame a total(9), luego el valor de i en total es 9, y luego ejecutar if Condition? i % n == 0? (9 % 1 == 0), el resultado es verdadero, ingresar para ejecutar sum = sum+n, luego ejecutar n++ (n = 2); > i ( 2 > 9 ), el resultado es falso, omitir si, ¿continuar con el siguiente paso? total(i)

Aquí surge el problema al ejecutar la primera capa, la función total no regresa. un valor Cuando el total ingresa a la última capa Al realizar el bucle, incluso si se devuelve la suma, debido a que las capas anteriores no han regresado, el resultado final será indefinido.

Entonces, si desea devolver un resultado en el. final, incluso si es recursivo, debes asegurarte de que la capa La capa tenga retorno