856350
例如一个 //定义函数a function a(arg1, arg2, arg3, callback){ callback(); }
//调用函数a a("hello", function(){ console.log("hello world"); }) 如果有时候只传一个arg1和callback,怎么样让callback正确的执行。 每次都会提示callback is not a function;
例如一个 //定义函数a function a(arg1, arg2, arg3, callback){ callback(); }
//调用函数a a("hello", function(){ console.log("hello world"); }) 如果有时候只传一个arg1和callback,怎么样让callback正确的执行。 每次都会提示callback is not a function;
谢谢大家,学到了很多,下来再去补补ES的知识
function A(...param) {
var callback = param.pop();
callback(param);
}
function callback(argument) {
console.log(...argument);
}
A(1,2,3,callback);
A('a','b',callback);
// 1 2 3
// a b
简化一点
function A(...param) {
var callback = param[param.length-1];
param.pop();
callback(param);
}
function callback(argument) {
console.log(...argument);
}
A(1,2,3,callback);
A('a','b','c',callback);
// 1 2 3
// a b c
let args = Array.from(arguments);
let callback = () => {};
if (typeof args[args.length - 1] === 'function') {
callback = args[args.length - 1];
}
let args=_.toArray(arguments);
callback=args.pop();
@okotta1 能不能给我说说具体的做法?我看了下想写成function a(..args, callback){}但是不行,写成function a(arg1, ...args){}又不知道怎么调用最后那个回调函数。。。
arguments或...可变参数