我们应该如何解释JavaScript中的以下代码:
for (i = 0; i <= 20; i++)
tests[i] && (buffer[i] = getPlaceholder(i));/* how this line interpreted */
我在某个地方看到了,但我不知道内部代码是什么意思。
答案 0 :(得分:2)
tests[i] && (buffer[i] = getPlaceholder(i));
代码正在使用logical AND operator。首先执行&&
- tests[i]
之前的语句,如果这是真的,那么只执行&&
- (buffer[i] = getPlaceholder(i))
之后的语句。
代码等同于以下
if (test[i]) {
buffer[i] = getPlaceholder(i);
}