Javascript 如果IF语句结束函数,为什么要使用IF…ELSE?
在可读性之外使用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就不会触发,但它
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;
}
}