这个js片段是如何工作的
How does this js snippet work?
function thunkify(fn) {
var args = [].slice.call( arguments, 1 );
return function(cb) {
args.push( cb );
return fn.apply( null, args );
};
}
因此CCD_ 1返回Array对象。则CCD_ 2创建一个新的数组,其中参数的内容从1开始(如果我是对的(。
但是函数(cb(是如何工作的呢?你在哪里拿到cb?
function(cb) { ... }
创建一个函数。
cb
是传递给它的参数。
当函数被调用时,就会得到它。
var thunkified = thunkify(someFunction);
thunkified("the value of cb");
args现在是一个数组,包含所有thunkify args(除了您所说的第一个(。args数组,然后在每次调用返回的函数时推送一个cb函数(即闭包,返回的函数可以从thunkify函数访问args(。
var myfn = thunkify(fn, 1, 2, 3); //now args is [1, 2, 3];
myfn(4); //now args is [1, 2, 3, 4] and fn is called with that array
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- 在JavaScript中的类中,push和concat的工作方式有何不同
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)