Os anos divisíveis por 4 são bissextos, porém cada 400 anos devem se eliminar 3 bissextos. Por isso, não são bissextos os que se dividem por 100, menos os que se dividem por 400, que sim são bissextos.

Com outras palavras, são bissextos todos os anos divisíveis por 4, excluindo os que sejam divisíveis por 100, porém não os que sejam divisíveis por 400.
Em Javascript e em linguagens de sintaxe similar como C, Java ou PHP:

if ((ano % 4 == 0) && ((ano % 100 != 0) || (ano % 400 == 0))
Viu como é simples? 🙂