Javascript 如果IF语句结束函数,为什么要使用IF…ELSE?

Javascript 如果IF语句结束函数,为什么要使用IF…ELSE?,javascript,function,if-statement,Javascript,Function,If Statement,在可读性之外使用if…else有好处吗 function a(b) { return b == "c";} 例如,如果我有一个函数: function a(b){ if(b=="c"){ return true }else{ return false } } 我能不能把它浓缩成这样: function a(b){ if(b=="c"){ return true } return false } 只要b==“c”,返回false就不会触发,但它

在可读性之外使用if…else有好处吗

function a(b) { return b == "c";}
例如,如果我有一个函数:

function a(b){
  if(b=="c"){
    return true
  }else{
    return false
  }
}
我能不能把它浓缩成这样:

function a(b){
  if(b=="c"){
    return true
  }
  return false
}
只要b==“c”,返回false就不会触发,但它不需要else语句

我已经遇到过很多次了,我总是选择更精简的版本(主要是为了避免写更多的东西)。对于这样的例子,除了可读性之外,是否有理由包含else语句

function a(b) { return b == "c";}
稍后编辑:


如果“If”中确实有一个“return”语句,则可以省略“else”语句,因为在给定的示例中,没有实际区别。我发现最好使用return语句过滤掉所有不正确的输入结果或可能的错误,以避免函数体被过度识别。

通常
else
return
之后被认为是多余的,但是,当“yes”和“no”分支在某种意义上相似时,为了对称,最好将它们保持在相同的缩进水平。比较:

// confusing

if (spam.exists()) {
    $(box).content = "Spam already exists";
    $(button).disable();
    return failure;
}

$(box).content = "Added new spam";
$(button).enable();
return success;


如果条件命令为
return
,或者以其他方式停止函数或脚本,则答案为no

但如果只有一个conditional命令,则括号
{}
无效:

function a(b){
    if(b=="c") return true;
    return false;
}

做完全相同的工作,你原来的职位。
else
station通常用于此类技巧:

if (b=="c") z="match"
   else z="wrong";

请注意,没有半列
在第二个示例中的
true
之后和
“match”

之后,您可能可以在本例中省略else语句。当在
返回之后使用
else
时,JSLint甚至会抛出错误

请在上尝试以下代码:


我意识到它可以进一步浓缩。我的问题是为什么/是否我应该有一个else语句。这可能是OP代码片段的一个较短版本,但它并没有回答他的问题。就我个人而言,我总是使用第二种方式。我发现它比第一本更可读。我已经使用了很多python,我发现自己使用if语句并返回值,而根本不使用else语句。如果第一个If激发,那么它不会检查其余的,因为函数返回了一个值?“匹配”:“错误”代码中还有一个意外错误:在“if”和“(”。
if(b==“c”){
if (b=="c") z="match"
   else z="wrong";
function test() {

    "use strict";
    var b;
    if(b === "c") {
        return true;
    } else {
        return false;
    }
}