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

Why return function with arguments is undefined?

我试了很多小时,但我不明白为什么 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 我没有定义 return,但代码实际上在函数 ripeti_region(lng) 中工作 如果您添加 alert(x) 它会打印 var id

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

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

您的问题在这里:

else {
    ripeti_region(lng);
  }

这部分代码没有return任何内容。

可能您想 return ripeti_region(lng);