js中的递归返回值问题,我知道他调用自身n的值为n n-1 2。但是返回值result 为什么会是n阶乘,为什么result值是从小到大

function f(n) {

        var result = 1;

        if (n === 1) {
            return result;

        } else {
             result = f(n - 1) * n;

             console.log(result);
             return result;
        }

    }
    document.write(f(5));

img