Ir directamente al contenido de esta página

codexexempla.org

Ejemplos de propiedades y métodos de Math

Primero, estos son los valores de las propiedades de Math:

En cuanto a los métodos, creo que a estas alturas el lector debería ser capaz de hacer sus propias pruebas, por lo que sólo voy a dar una indicaciones generales.

Los métodos geométricos —acos(), asin(), atan(), cos(), sin() y tan()— aceptan un único parámetro, que es el valor o la variable con la que se está trabajando. El resultado se obtiene en radianes.

De la misma forma, abs() y sqrt() sólo necesitan un parámetro, y devuelven, respectivamente, el valor absoluto de un número —si se trata de un número negativo, devuelve el valor positivo, y si es un número positivo, también devuelve el valor positivo— y su raíz cuadrada. Sólo hay que recordar que:

min() y max() devuelven el valor menor y mayor, respectivamente, de la lista de valores que se proporcione:


    var un_numero = 31;
    var otro_numero = 19;
    var otro_numero_mas = 707;
    Math.min(un_numero,otro_numero,otro_numero_mas);  // Devuelve 19
    Math.max(un_numero,otro_numero,otro_numero_mas);  // Devuelve 707
        

No hay límite para la cantidad de parámetros que se pueden proporcionar a estos métodos, incluso se puede proporcionar uno o ninguno, a pesar de la dudosa utilidad de hacer esto. Con un único valor, los métodos devuelven el valor sin más. Sin ningún parámetro, max() develve -Infinity y min() develve Infinity.

Para elevar a una potencia tenemos dos métodos: exp(), que eleva la constante de Euler al valor proporcionado, y pow(), que eleva una base a una potencia:


    Math.exp(10);     // Devuelve E elevado a 10
    Math.pow(2,10));  // Devuelve 2 elevado a 10
        

log() devuelve el logarismo en base E de un número, salvo que éste sea negativo, en cuyo caso devuelve NaN, o 0, que da como resultado -Infinity.

ceil(), floor() y round() redondean un número con parte decimal proporcionado; ceil()redondea hacia arriba, floor() hacia abajo, y round() hacia el natural más cercano por arriba o por abajo:


    Math.ceil(5.4);   // Devuelve 6
    Math.floor(5.7);  // Devuelve 5
    Math.round(5.4);  // Devuelve 5
    Math.round(5.7);  // Devuelve 6
        

Por si alquien se lo pregunta, Math.round(5.5); devolvería 6.

Por último, random() no acepta ningún parámetro, y sirve para obtener un valor aleatorio mayor que 0 y menor que 1. Sin embargo, como lo que devuelve es un decimal menor a la unidad, pero se suele emplear para elegir un elemento de una lista, suele ser necesario crear una función para obtener, por ejemplo, un número aleatorio entre 11 y 30. Dejo aquí la de Nicholas C. Zakas que aparece en Professional JavaScript for Web Developers:


    function elegirEntre(primerValor,ultimoValor){
        var opciones = ultimoValor - primerValor + 1;
        return Math.floor(Math.random() * opciones + primerValor);
    }
    
    alert(elegirEntre(5,15)); // Mostraría un valor entre 5 y 15, ambos inclusive
        

Volver al curso

(cc) CodexExempla.org, 2007–2021 Mapa del sitio | XHTML | CSS | AA