0

javascript では、ネストされた if の elses と混同されます

JS コンパイラ/エンジンがこのコードを解釈する場合

if (cond1)
if (cond2)
statement1
else
statement2

(意図的にインデントしていません)

このように解釈されますか?

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

それともこんな感じ?

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

問題は、「else」は最初または 2 番目の「if」に対応するかということです。

この解釈の問題に何らかの名前(「演算子の優先順位」など)があるかどうかも知りたいです(確かにそうです)。名前で検索する方法がわからないため、インターネットでこの問題を見つけることができません。

少し明白かもしれませんが、私はそれを言うつもりです: 私は今それを使用しているので、javascript について尋ねますが、この質問はほとんどすべての手続き型言語に関するものである可能性があります。

4

1 に答える 1

3

JS の 2 番目のものである必要があります。同僚があなたのコードをデバッグするとすぐに、python でエラーをスローし、php で鼻を殴られます。

于 2013-09-23T00:29:59.030 に答える