在else条件之外和else条件之内使用return
有什么区别?
我知道最好的代码没有使用else
,我知道两者的做法相同。有差异还是有优势?
function f1() {
if (1 == 1) {
return true;
} else {
return false;
}
}
function f2() {
if (1 !== 1) {
return true;
} else {
return false;
}
return false
}
console.log(f1());
console.log(f2());

答案 0 :(得分:1)
如果您在块代码中有if
语句,并且在return
和if
块中都包含else
。它的意思是if
块将执行,而return
来自方法或else
块将执行return
。下面的其他语句将不会执行,编译器可能会给你一些错误,如
无法达成声明
例如:
SaveVersionMainScreen() {
let element = this.commonValidation(true);
if (element) {
return false;
}
else{
return true;
}
// Below statements will never run
var a=2;
var b=3;
var c=4;
return true;
}
答案 1 :(得分:1)
与您之前的问题无关,只与此相关:
在方法:2中,最后一个return
语句(即return true;
)实际上是无用的。因为SaveVersionMainScreen()
中的最后一行不会被执行,因为存在if
和else
两个条件。哪个应该占所有情况。
答案 2 :(得分:1)
完全改变你问题的方法。无论如何,现在离开我的答案。 您的版本2是不好的做法,代码不能像Java那样使用严格的语言,因为您有一个无法访问的返回语句。至于你的测试从你的函数中删除else应该为你解决,但问题似乎是测试而不是你的代码。
SaveVersionMainScreen() {
let element = this.commonValidation(true);
if (element) {
return false;
}
return true;
}