// JavaScript Document
//在书上看到函数科里化,感觉看的一头雾水,求帮忙
//复制到DW上会比较好看
function curry (fn,scope){
var scope = scope||window;//变量scope是什么作用,作用域吗?
var args =[];//设定数组 args(实参)
for(var i =2,len=arguments.length; i<len; ++i){
args.push(arguments[i])
};//是否是将接受的实参arguments历遍,压入数组args中?那么为什么要从i=2开始?
return function(){
var args2 = [];//设定数组args2
for (var i = 0 ;i<arguments.length;i++){
args2.push(argument[i]);
}//实参argument历遍,压入数组args中,为什么这里又是从i=0开始和上面不同?
var argstotal = args.concat(args2);//将所有实参压入到一个argstotal数组里
return fn.apply(scope,argstotal);//看不懂。。最后返回得到的是什么。。函数功能是什么?
};
}
//如果能帮忙放在一个具体环境下解说就更好了,,谢谢~~
狐的传说