混淆了返回数组#map javascript

时间:2015-05-17 07:17:32

标签: javascript arrays functional-programming

我有代码:

function func1(){
  return 
    array.map(function(el){
      return el.method();
    });
}

function func2(){
  var confused = 
    array.map(function(el){
      return el.method();
    });
  return confused;
}

为什么func1返回undefinedfunc2返回正值(我需要)?

抱歉我的英文。

1 个答案:

答案 0 :(得分:11)

在JS引擎的内部,第一个例子看起来像这样,

function func1() {
  return;
    array.map(function(el){
      return el.method();
    });
};

这就是为什么你得到undefined,不要在return之后添加新行,因为返回语句后跟一个新行告诉JS解释器半结肠应该是在返回后插入。

function func1() {
  return array.map(function(el){
     return el.method();
  });
};