在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因为我现在正在使用它,但这个问题几乎可以用于任何程序语言。
答案 0 :(得分:3)
它应该是JS中的第二个。它会在python中抛出一个错误,并在同事调试你的代码时立即在php中打你的鼻子。