В javascript, когда для проверки используется оператор if с несколькими условиями, проверяет ли javascript их все независимо, или же он будет освобожден перед проверкой всех, если он уже ложный?
Например:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
Будет ли javascript проверяться для всех 3 из этих условий или, увидев, что b не равно 1 и, следовательно, ложно, выйдет ли из оператора?
Я спрашиваю с точки зрения производительности. Например, если я тестирую 3 сложных селектора jQuery, я бы предпочел, чтобы jQuery не проходил через DOM 3 раза, если через первый будет очевидно, что он вернет FALSE. (В этом случае было бы больше смысла вкладывать 3 оператора if).
ADDENDUM: Больше любопытства, каков правильный термин для этого? Я заметил, что многие из вас используют термин «короткое замыкание». Кроме того, некоторые языки делают это, а другие нет?