JavaScript Math. Signum
Esta função tem como objetivo indicar para um dado número, se o número está mais próximo do infinito negativo ou se está mais próximo do infinito positivo, exemplo:
signum(+321658) = 1
signum(-1452) = -1
signum(0) = 0
Esta função não existe no objeto Math. A idéia básica da construção desta função consiste em dividir o parâmetro de entrada por ele mesmo, e assim teremos 1 (exceto para x=0).
x/x = 1
-1/-1 = 1
O próximo passo, precisamos obter o resultado numérico ‘1′, mas desta vez, sem mudar o sinal, então dividimos o número por seu módulo:
-10 / |-10| = -10 / 10 = -1
15 / | 15 | = 15 / 15 = 1
Agora só ficou faltando e excessão de zero, por causa da divisão por zero, que é o nosso caso de excessão, então a função ficou assim:
Math.signum = function signum(x){
return (x/Math.abs(x))||x;
}


