这之间有区别吗:
var test = function(callback) {
callback(4);
return;
};
test(function(x) { alert(x); });
而这个(注意回调调用实际上是返回的):
var test = function(callback) {
return callback(4);
};
test(function(x) { alert(x); });
这之间有区别吗:
var test = function(callback) {
callback(4);
return;
};
test(function(x) { alert(x); });
而这个(注意回调调用实际上是返回的):
var test = function(callback) {
return callback(4);
};
test(function(x) { alert(x); });
第一个总是undefined
在调用时返回。第二个返回任何callback(4)
返回。顺便说一句,在您的示例中,这也是undefined
.
他们都返回undefined
,所以没有没有区别。但是第二个返回未定义,因为回调返回未定义。第一个只是返回 undefined 无一例外。
例如:
var y = test(function(x){ return x*2; });
在您的第一个变体y
中,分配了 value undefined
。在第二个它获取值8
(返回值callback(4)
。
第一个示例执行回调函数并返回undefined
.
第二个函数返回回调函数返回的值;