if (condition a) {
return (result b)
} else {
return (result c)
}
一旦我删除了“}else{},代码就变成了
if (condition a) {
return (result b)
}
return (result c)
为什么第二个代码仍然与第一个代码具有相同的功能?
对我来说,在第二个中,它无论如何都会运行 return (result c)
但是,情况并非如此!
有什么说明吗?
答案 0 :(得分:0)
考虑每个示例中发生的情况...
在第一个例子中:
condition a
为 true
,则将执行该块内的代码,返回 result b
并退出函数。else
块内的代码,返回 result c
并退出函数。在第二个例子中:
condition a
为 true
,则将执行该块内的代码,返回 result b
并退出函数。if
块并执行下一个代码,返回 result c
并退出函数。逻辑上两者是一样的。在这种特定情况下,包含 else
只是个人喜好问题。
对我来说,在第二个中,它无论如何都会运行 return (result c)
如果函数已经返回结果并退出,则不会。然后函数中剩余的代码不会被执行,因为它已经返回了。
答案 1 :(得分:0)
在大多数语言中,return (something)
有两件事:
第 2 项意味着即使没有 else
,这两段代码基本上也做同样的事情:
由于 if
语句所保护的代码块永远不会正常完成,而是在执行 if
块时将不会执行的代码返回给调用者。