这两个Javascript函数有什么区别?

时间:2017-03-01 15:06:00

标签: javascript callback

1:

var sum = function (a, b){ return a+b; }

2:

var sum = function (a, b, callback ){ console.log(a+b); callback; }

我正在尝试理解回调函数,但我不是这里的主要区别是什么?

2 个答案:

答案 0 :(得分:2)

一个返回添加(或连接)ab的结果。

其他记录到控制台,而不是返回任何内容。

未使用callback变量。刚刚提到过,但这没有任何作用。它可能不存在。

答案 1 :(得分:0)

这两个功能完全不同。如果你正在研究回调函数,那么第二行可能是:

var employee = ["John", "Mary"],
    loc = ["APAC", "Singapore"],
    result = employee.reduce(function (r, e) {
        r.profile.push({"name": e, "location": loc.slice()});
        return r;
    }, {profile: []});

console.log(result);

然后回调可能是:

var sum = function (a, b, callback) { return callback(a+b); }

因此,简而言之,回调函数是您作为参数传递给另一个函数然后在该函数体内调用它的函数。标准用法是在我们想要调用回调的异步场景中,例如一旦我们从服务器接收数据。