如果声明对应,那么一行中的“其他”是什么?

时间:2013-09-23 00:27:38

标签: javascript algorithm if-statement procedural-programming

在javascript中,我对嵌套的if's elses感到困惑

当JS编译器/引擎有此代码来解释时

if (cond1)
if (cond2)
statement1
else
statement2

(它不是故意缩进的)

是否会被解释为这样?

if (cond1) {
  if (cond2) {
    statement1
  }
}
else {
  statement2
}

或者喜欢这个?

if (cond1) {
  if (cond2) {
    statement1
  }
  else {
    statement2
  }
}

问题是:'else'是对应第一个还是第二个'if'?

我还想知道这个解释问题是否有一些名称(比如'运算符优先')(我确信它有)。我在互联网上找不到这个问题,因为我不知道如何通过它的名称来搜索它。

这可能有点明显,但我会说:我问javascript因为我现在正在使用它,但这个问题几乎可以用于任何程序语言。

1 个答案:

答案 0 :(得分:3)

它应该是JS中的第二个。它会在python中抛出一个错误,并在同事调试你的代码时立即在php中打你的鼻子。