Ir directamente al contenido de esta página
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:
abs()
, una cadena literal devuelve NaN
, salvo que pueda convertirse exitosamente en un numeral antes de intentar obtener el valor absoluto —en realidad, todos los métodos matemáticos presentan este comportamiento—:
Math.abs(7); // Devuelve 7
Math.abs(-7); // Devuelve 7
Math.abs('7'); // Devuelve 7
Math.abs('-7'); // Devuelve 7
Math.abs('gato'); // Devuelve NaN
sqrt()
, un valor negativo devuelve NaN
.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
(cc) CodexExempla.org, 2007–2025 Mapa del sitio | XHTML | CSS | AA