JS的一个问题,不知我错在哪了
弹出未定义
------解决方案--------------------自己单步调试
------解决方案--------------------看不懂 跑了下
执行到 var m = mapper(increment);
此时 函数mapper(f);参数 f = function(x){return x+1;}
m = function(x){x.map(f);}
是不是 少了 等大牛
------解决方案--------------------应该是alert(m(data));才对,不是方括号。
如上的mapper的功能是返回一个隐藏array的map方法的映射器,有点柯里化的韵味。
m(data)等价于data.map(increment);
------解决方案--------------------
function mapper(f){
return function(x){
var y = x.map(f);
return y;
}
}
var increment = function(x){
return x+1;
}
------解决方案--------------------不能修改,可气可气。
补充:
你都没东西返回。绝对undefined