Web 前端开发 让前端飞

【Javascript】参数求和

2017-11-30  本文已影响0人  雨水之后

创建一个计算两个参数之和的function。如果只有一个参数,则返回一个function,该function请求一个参数然后返回求和的结果。

例如,add(2, 3)应该返回5,而add(2)应该返回一个function

调用这个有一个参数的返回的function,返回求和的结果:

add(2)(3); // 结果为5

function add() {

    //储存参数为数组
    var args = new Array(arguments.length);
    for (var i = 0; i < args.length; ++i) {
        args[i] = arguments[i];
    }

    //有两个参数的情况
    if (args.length == 2) {

        //判断是否数字
        if (typeof args[0] !== 'number' || typeof args[1] !== 'number') {
            return undefined;
        }
        return args[0] + args[1];
    }

    //只有一个参数的情况
    if (args.length == 1) {

        a = args[0];

        if (typeof a !== 'number') {

            return undefined;

        } else {

            //返回一个带有一个参数的函数
            //并继续求和
            //闭包
            return function(b) {

                if (typeof b !== 'number') {
                    return undefined;
                } else {
                    return a + b;
                }
            };
        }
    }
}

THE END.

上一篇下一篇

猜你喜欢

热点阅读