实现如下语法的功能:var a = add(2)(3)(4);

这题主要考察了函数柯里化, 函数的toString与valueOf的功能

解法一:

function add(item) {
    let func = (value) => {
        return add(value + item);
    }
    func.valueOf = func.toString = ()=> {
        return item;
    }
    return func;
}

add(10)(20)(30);

该题主要是运用了函数柯里化,以及函数的toString与valueOf方法相结合

Last updated

Was this helpful?