为什么返回带参数的函数未定义?

时间:2017-06-14 17:46:51

标签: javascript return-value anonymous-function

我试了好几个小时,但我不明白为什么return未定义......

这是我的代码:

var x = 30.858;
var id = 584;

var num_reg = region(x);
if (num_reg == false) {
  num_reg = ripeti_region(x);
}


function ripeti_region(lng) {
  if (lng <= 180) {
    lng = lng - 0.2;
  } else if (lng => -180) {
    lng = lng + 0.2;
  }

  if (region(lng) != false) {
    var x = region(lng);   
    return x;
  } else {
    ripeti_region(lng);
  }
}


function region(lng) {
  if (lng <= 30.458) {
   return id;
  } else {
   return false;
  }
}


alert(num_reg);

如果我提醒num_reg我有未定义的返回,但如果您添加ripeti_region(lng),则代码在函数alert(x)中有效,则会打印var id

所以我会num_reg给出类似输出var id的值。

这是jsfiddle: https://jsfiddle.net/nj4duw61/

1 个答案:

答案 0 :(得分:2)

你的问题在这里:

else {
    ripeti_region(lng);
  }

这部分代码不会返回任何内容。

可能你想要return ripeti_region(lng);

相关问题