解决方案 »
- Tab效果如何去掉上面块和下面块之间的border呢
- 使用swfObject能向没有内容的.swf文件添加图片和播放方式吗?
- 如何查找上级元素的id
- 一个小问题 本人新手 请高手指点 来着有分 在线等紧急
- 如何弹出一个保存图片的窗口?
- 如何修改param里的value?详情请进。
- 类不能支持Automation操作?
- JQ扩展两个方法如何合并,急,在线等...
- 请问 function除了会写在js和jsp里面还有可能在那里
- JFreeChart画双Y轴,刻度显示问题
- 谁用Sublime text2 为什么每次按代码提示都会多一个 “<” 符号!!!
- 关闭浏览器调用onbeforeunload弹出确认提示问题
}
var lev2 = curry(lev1,'AA','BB');
lev2('add3','add4');
function curry(fn){
var args = Array.prototype.slice.call(arguments, 1);//將curry的參數除fn外組成一個數組
return function(){
var innerArgs = Array.prototype.slice.call(arguments), //這里的arguments是指此匿名函數的參數列表,非curry的
finalArgs = args.concat(innerArgs);//將curry除fn外的參婁與匿名函數的參數組成一個新的數組
return fn.apply(null, finalArgs);
};
}
var a = curry(function(m, n){alert([m, n].join(' '))}, 'I am');
a('here');
传入新函数(fnCurry)的参数(otherArgs)会通过concat和预置参数合并,然后再传到最开始的那个函数(fnA)里执行。