【Javascript】参数求和

作者: 雨水之后 | 来源:发表于2017-11-30 13:51 被阅读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.

    相关文章

      网友评论

        本文标题:【Javascript】参数求和

        本文链接:https://www.haomeiwen.com/subject/nhsvbxtx.html