这两个例子的区别?

iLo*_*och 1 javascript

这有什么区别:

var test = function(callback) {
    callback(4);
    return;
};

test(function(x) { alert(x); });
Run Code Online (Sandbox Code Playgroud)

这个(注意回调调用实际上已经返回):

var test = function(callback) {
    return callback(4);
};

test(function(x) { alert(x); });
Run Code Online (Sandbox Code Playgroud)

bfa*_*tto 11

第一个总是undefined在调用时返回.第二个返回任何callback(4)返回.顺便说一下,在你的例子中也是如此undefined.