function thunkify(fn) {
    var args = [].slice.call( arguments, 1 );
    return function(cb) {
        args.push( cb );
        return fn.apply( null, args );
    };
}


因此[]返回一个Array对象。然后slice.call创建一个新数组,参数的内容从1开始(如果我是正确的话)。

但是function(cb)如何工作?它在哪里得到cb?

最佳答案

function(cb) { ... }创建一个函数。

cb是传递给它的参数。

您在调用函数时得到它。

var thunkified = thunkify(someFunction);
thunkified("the value of cb");

关于javascript - 这个js片段如何运作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38829156/

10-13 03:34