以下代码段有什么不同吗? 他们都工作,会比其他人更好或更干净吗?
someFunc(){
var ret;
if(thisBoolean === true){
ret = some value
}
else{
ret = some other value
}
return ret;
}
和
someFunc(){
if(thisBoolean === true){
return some value
}
else{
return some other value
}
}
答案 0 :(得分:1)
这一切都取决于你的编码风格。 我会完成
someFunc(){
return thisBoolean ? 'some value' : 'some other value'
}
所以这一切都取决于你想要什么或如何编码。
答案 1 :(得分:1)
我个人会选择第二个;如果您想返回,则返回,很明显在返回之前不会进行进一步的更改。相比之下,您可以在ret
上进行最终检查或转换。
唯一需要注意的是,当返回涉及您在两个分支中执行的某些操作时,在这种情况下,DRY会建议您遵循第一个模式。
人们对三元运算符各不相同,但我非常喜欢它的功能风格:
var someFunc = function(isSpecial) {
return isSpecial ? specialVal : ordinaryVal;
};
答案 2 :(得分:0)
他们将产生相同的输出。它们基本相同。
答案 3 :(得分:0)
它们将产生相同的输出但是,第一个只有一次返回将使您的调试变得容易。