日期:2014-05-16  浏览次数:20330 次

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