命名函数表达式

严格模式下代码不能访问arguments.callee,此时写递归方法时需要使用命名行数表达式:

1
2
3
4
5
6
7
8
9

const factorial = (function f(num)) {
    if(num <= 1) {
        return 1;
    } else {
        return num * f(num - 1);
    }
}