拥有以下代码:
function test(x) {
if(x=='a') return false;
return true;
}
if(y ==x) {
return test('a');
group['ids']= inputs.val();
console.log(group);
}
为什么return true
只是因为没有超出return
注意:我希望return test()
的答案能够控制它是否应该继续使用代码,或者不是
我已经做过类似的事情:
var response = test('b');
if (response==false) return false;
... more code here ...
但我希望避免在每次调用该函数时都这样做
答案 0 :(得分:3)
因为这是return
在每种编程语言中的作用:它
如果您需要执行其他代码,请将其放在return语句之前。
修改:我看到了您的修改,但它并没有改变{(1}}在该(和每个)上下文中的本质。它将继续停止当前作用域的流动,返回到最近的较高作用域,其值为(在您的情况下为真或假)。
答案 1 :(得分:3)
关键字return
,顾名思义,将程序流控制返回给调用函数,并可选择设置函数的 return 值。
在每种类似C语言中,它的工作方式相同。
您可能想要做的是类似于Delphi的方法,其中关键字Result
的工作方式不同 - 它只设置函数终止时将使用的返回值,但不会立即终止该函数。
function() {
var result = someDefaultValue;
if (someCondition)
result = otherValue;
if (otherCondition)
result = yetAnotherValue;
return result;
}
答案 2 :(得分:1)
尝试将return放在最后,因为return true将中断执行,之后不会执行任何操作
答案 3 :(得分:1)
当解释器到达该关键字时,return关键字会导致函数结束('return'),并且在return语句之后不会继续处理任何内容(在同一个函数中)。
你可以改写你拥有的东西:
group['ids']= inputs.val();
console.log(group);
return true;
答案 4 :(得分:1)
当执行return语句时,当前函数的执行结束,程序的控制返回到调用该函数的上下文。返回语句后的任何内容都不会被执行。
答案 5 :(得分:0)
我通常会发现哪些方案是错误/错误,而return false;
出现在这些方案中,然后继续查看正确的代码。
function Testmcdooder (test) {
if (test === false) {
// just exit up here
return false;
}
// now all of this code will run only if we're fine
group['ids']= inputs.val();
console.log(group);
}
答案 6 :(得分:0)
函数中存在return
语句。我认为您更愿意使用if
声明:
if (y == x) {
if (test('a')) {
group['ids']= inputs.val();
console.log(group);
}
}
如果您还想在确定是否应运行其他状态后返回该值:
if (y == x) {
if (test('a')) {
group['ids']= inputs.val();
console.log(group);
return true;
} else {
return false;
}
}
可替换地:
if (y == x) {
var cond = test('a');
if (cond) {
group['ids']= inputs.val();
console.log(group);
}
return cond;
}