0

在 javascript 中,我对嵌套的 if 的 else 感到困惑

当 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 的问题是因为我现在正在使用它,但这个问题可能与几乎任何程序语言有关。

4

1 回答 1

3

它应该是JS中的第二个。一旦同事调试你的代码,它就会在 python 中抛出一个错误,并让你的鼻子在 php 中受到打击。

于 2013-09-23T00:29:59.030 回答