在 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());
与您之前的问题无关,而仅与此相关:
在方法:2中,最后的return
语句(即return true;
)实际上是无用的。因为SaveVersionMainScreen()
的最后一行不会执行,因为存在if
并且else
这两个条件都存在。这应该考虑到所有情况。
如果你在块代码中有if
语句,并且在if
和else
块中都包含return
。它的意思是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;
}
完全改变你的问题的方法。无论如何,暂时留下我的答案。 您的版本 2 是一种不好的做法,代码无法在像 Java 这样的严格语言中工作,因为您有一个无法访问的 return 语句。至于你的测试,从你的函数中删除 else 应该为你解决它,但问题似乎出在测试而不是你的代码上。
SaveVersionMainScreen() {
let element = this.commonValidation(true);
if (element) {
return false;
}
return true;
}