¿Por qué ordenar una matriz JS de números con <funciona?

Al ordenar una matriz de números en JavaScript, accidentalmente usé< en lugar delo normal- - pero aún funciona. ¿Me pregunto porque

Ejemplo

var a  = [1,3,2,4]
a.sort(function(n1, n2){
    return n1<n2
})
// result is correct: [4,3,2,1]

Y una matriz de ejemplo para la que esto no funciona (gracias por el ejemplo de Nicolas):

[1,2,1,2,1,2,1,2,1,2,1,2]