chh*_*vey 16 javascript conditional if-statement
if...else if我见过的每个例子都包含一个最终else条款:
if (condition1) {
doA();
} else if (condition2) {
doB();
} else if (condition3) {
doC();
} else {
noConditionsMet();
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)
我理解这对于嵌套if...else语句来说基本上是语法糖:
if (condition1) {
doA();
} else {
if (condition2) {
doB();
} else {
if (condition3) {
doC();
} else {
noConditionsMet();
}
}
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)
我从来没有见过的任何例子if...else if是省略了最后else条款.但是看到简单的if语句(没有else子句)是有效的,并且通过上面的等效"嵌套语句",我的直觉告诉我这样做是可以的:
if (condition1) {
doA();
} else if (condition2) {
doB();
} else if (condition3) {
doC();
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)
有人能指出我明确说明它是否有效的资源或示例?
而在另一个层面上,如果它是有效的,会被推荐还是被认为是"不良做法"?
Poi*_*nty 10
你永远不需要一个else条款.(很难提供一些不必要的例子,所以我会留下它.)
编辑为注释注释,语言符号表示法中的方括号通常表示某些内容是可选的.
它是100%有效.不,这不是坏习惯.如果您不需要它,请不要写它.
以下面的例子为例:
function doStuff(data) {
if (data.something) {
// go format the data in some way
}
else if (data.somethingElse) {
// go format the data in some other way
}
// must be formatted correctly, don't do anything else
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25550 次 |
| 最近记录: |