我试了好几个小时,但我不明白为什么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/
答案 0 :(得分:2)
你的问题在这里:
else {
ripeti_region(lng);
}
这部分代码不会返回任何内容。
可能你想要return ripeti_region(lng);