Operadores Aritméticos
En los primeros
ejemplos de este tutor tan sólo se han usado sentencias muy simples como
asignar un valor a una variable, mediante el operador de asignación, =,
o realizar operaciones aritméticas, pero evidentemente JavaScript puede
realizar más operaciones. En esta seccion y las siguientes se presentan los
operadores de que dispone este lenguaje clasificados en varios grupos, según el
contexto en el que se usen. Comenzamos con los más conocidos, los operadores
aritméticos.
Suma +
Se trata de un operador usado para sumar dos
valores numéricos o para concatenar cadenas entre sí o números y cadenas.
var var1 = 10, var2= "Buenos", var3 =
"
días", var4 = 31;
document.write(var1+var4)
/* resultado
41 */
document.write(var2+var3)
/* resultado:
Buenos días */
document.write(var1+var3)
/* resultando:
10 días */
Resta -
Operador usado para restar valores numéricos. Puede actuar sobre un único
operando numérico cambiándole de signo.
var num1 = 10, num2 = 8, res = 0;
res = num1 - num2; /*res contiene 2 */
res =
-res /*
ahora res contiene -2*/
Producto ( * ) y cociente ( / )
Realizan las operaciones aritméticas de multiplicar y dividir dos valores
numéricos.
var op1 = 50, op2= 4, div, mul;
div =
op1/op2 /*div
contiene 12.5 */
mul = op1 * op2 /*mul
contendrá 200 */
Resto %
También llamado operador módulo calcula el resto de una división.
var op1 = 50, op2= 4, resto;
resto = op1 %
op2; /*resto
contiene 2 */
Incremento ( ++) y decremento (--)
Estos operadores se usan para incrementar o decrementar en 1 el valor de una
variable. Si el operador se antepone a la variable la operación de incremento o
decremento es prioritaria sobre cualquier otra.
var op1=5, op2 = 5, res;
res = ++op1; /*res
toma el valor 6 y luego op1 el 6*/
res = op1++; /*res
toma el valor 5 y luego op2 el 6*/
Operadores compuestos
Los operadores +, -, *, / pueden
asociarse con el operador de asignación (=) para cambiar el valor de una
variable numérica por incrementándolo, decrementándolo, multiplicándolo o
dividiéndolo por un valor. El operador += puede usarse igualmente con variables
de cadena.
var num = 20, cad = "buena";
num += 5;
/*num
adquiere el valor 25 (20 + 5) */
cad +=
's' ; /*cad
adquiere el valor 'buenas' */
num *= 10; /*num
adquiere
el valor 250 (25*10) */
Operaciones y
Funciones Matemáticas Básicas
Como realizar sumas de dos o
mas números
1
2
|
var
operador1, operador2, suma;
suma =
operador1 + operador2;
|
Realizar resta (diferencia) de
dos números
1
2
|
var
operador1, operador2, resta;
resta =
operador1 - operador2;
|
Multiplicación
1
2
|
var
operador1, operador2, multiplicacion;
multiplicacion
= operador1 * operador2;
|
División
1
2
|
var
divisor, dividendo, division;
division
= divisor / dividendo;
|
Potencia de un número
1
|
var
potenica = Math.pow()
|
Raíz cuadrada
1
2
|
var
raizCuadrara = Math.sqrt(9);
alert(raizCuadrara);
|
Redondear un valor
1
2
|
var
redondea = Math.round(9.45);
alert("Valor
redondeado 9.45= "+redondea);
|
Redondear un número al entero mas
cercano
1
2
|
redondea
= Math.ceil(9.01);
alert("Valor
ceil 9.01= "+redondea);
|
Decrementar al entero inferior
1
2
|
redondea
= Math.min(9.01);
alert("Valor
min 9.01= "+redondea);
|
Decrementar al entero inferior
1
2
|
redondea
= Math.floor(9.99);
alert("Valor
floor 9.99= "+redondea);
|
// //decrementar al entero inferior
Obtener el valor máximo de una serie
de valores
1
2
|
var
valorMaximo = Math.max(20,15,10,3,28,64,74,13,76);
alert("El
valor maximo es:"+valorMaximo);
|
// //Valor maximo de una serie de
valores
Obtener el valor mínimo de una serie
de valores
1
2
|
var
valorMaximo = Math.min(20,15,10,3,28,64,74,13,76);
alert("El
valor minimo es:"+valorMaximo);
|
// //Valor maximo de una serie de
valores
Valor absoluto de un número
1
2
|
var
absoluto = Math.abs(-10);
alert(absoluto);
|
// // valor absoluto
Calcular el seno de un número
1
2
|
var
seno = Math.sin(30);
alert("El
seno de 30 = "+seno);
|
// // Seno
Calcular el coseno de un número
1
2
|
var
coseno = Math.cos(30);
alert("El
coseno de 30 = "+coseno);
|
// // Coseno
Generar un número aleatorio
1
2
|
var
aleatorio = Math.random();
alert(aleatorio);
|
// //Generar valor aleatorio
Generar un número aleatorio de 0 a X
1
2
|
var
aleatorio = Math.floor(Math.random()*101);
alert(aleatorio);
|
// //Generar valor aleatorio entre 0
a 100
Generar un número aleatorio de 0 a X
con decimales
//Generar valor aleatorio entre 0 a
10
1
2
|
var
aleatorio = Math.floor(Math.random()*10) + Math.random();
alert(aleatorio);
|
Obtener el valor de PI
Funciones útiles para
cadenas de texto
Funciones
útiles para cadenas de texto
A continuación se muestran algunas de las funciones más útiles para el
manejo de cadenas de texto:
length, calcula la longitud de una cadena de texto (el número de caracteres
que la forman)
var mensaje = "Hola Mundo";
var numeroLetras = mensaje.length; // numeroLetras = 10
+, se emplea para concatenar varias cadenas de texto
var mensaje1 = "Hola";
var mensaje2 = " Mundo";
var mensaje = mensaje1 + mensaje2; // mensaje = "Hola Mundo"
Además del operador +, también se puede
utilizar la función concat()
var mensaje1 = "Hola";
var mensaje2 = mensaje1.concat(" Mundo"); // mensaje2 = "Hola Mundo"
Las cadenas de texto también se pueden unir con variables numéricas:
var variable1 = "Hola ";
var variable2 = 3;
var mensaje = variable1 + variable2; // mensaje = "Hola 3"
Cuando se unen varias cadenas de texto es habitual olvidar añadir un
espacio de separación entre las palabras:
var mensaje1 = "Hola";
var mensaje2 = "Mundo";
var mensaje = mensaje1 + mensaje2; // mensaje = "HolaMundo"
Los espacios en blanco se pueden añadir al final o al principio de las
cadenas y también se pueden indicar forma explícita:
var mensaje1 = "Hola";
var mensaje2 = "Mundo";
var mensaje = mensaje1 + " " + mensaje2; // mensaje = "Hola Mundo"
toUpperCase(), transforma todos los caracteres de la cadena a sus correspondientes
caracteres en mayúsculas:
var mensaje1 = "Hola";
var mensaje2 = mensaje1.toUpperCase(); // mensaje2 = "HOLA"
toLowerCase(), transforma todos los caracteres de la cadena a sus correspondientes
caracteres en minúsculas:
var mensaje1 = "HolA";
var mensaje2 = mensaje1.toLowerCase(); // mensaje2 = "hola"
charAt(posicion), obtiene el carácter que se encuentra en la posición indicada:
var mensaje = "Hola";
var letra = mensaje.charAt(0); // letra = H
letra = mensaje.charAt(2); // letra = l
indexOf(caracter), calcula la posición en la que se encuentra el carácter indicado dentro
de la cadena de texto. Si el carácter se incluye varias veces dentro de la
cadena de texto, se devuelve su primera posición empezando a buscar desde la
izquierda. Si la cadena no contiene el carácter, la función devuelve el
valor -1:
var mensaje = "Hola";
var posicion = mensaje.indexOf('a'); // posicion = 3
posicion = mensaje.indexOf('b'); // posicion = -1
Su función análoga es lastIndexOf():
lastIndexOf(caracter), calcula la última posición en la que se encuentra
el carácter indicado dentro de la cadena de texto. Si la cadena no contiene el
carácter, la función devuelve el valor -1:
var mensaje = "Hola";
var posicion = mensaje.lastIndexOf('a'); // posicion = 3
posicion = mensaje.lastIndexOf('b'); // posicion = -1
La función lastIndexOf() comienza su búsqueda desde el
final de la cadena hacia el principio, aunque la posición devuelta es la
correcta empezando a contar desde el principio de la palabra.
substring(inicio, final), extrae una porción de una cadena de texto. El
segundo parámetro es opcional. Si sólo se indica el parámetro inicio, la función
devuelve la parte de la cadena original correspondiente desde esa posición
hasta el final:
var mensaje = "Hola Mundo";
var porcion = mensaje.substring(2); // porcion = "la Mundo"
porcion = mensaje.substring(5); // porcion =
"Mundo"
porcion = mensaje.substring(7); // porcion =
"ndo"
Si se indica un inicio negativo, se
devuelve la misma cadena original:
var mensaje = "Hola Mundo";
var porcion = mensaje.substring(-2); // porcion = "Hola Mundo"
Cuando se indica el inicio y el final, se devuelve la parte de la cadena
original comprendida entre la posición inicial y la inmediatamente anterior a
la posición final (es decir, la posición inicio está incluida
y la posición final no):
var mensaje = "Hola Mundo";
var porcion = mensaje.substring(1, 8); // porcion = "ola Mun"
porcion = mensaje.substring(3, 4); // porcion =
"a"
Si se indica un final más pequeño
que el inicio, JavaScript los considera de forma
inversa, ya que automáticamente asigna el valor más pequeño al inicio y el más
grande al final:
var mensaje = "Hola Mundo";
var porcion = mensaje.substring(5, 0); // porcion = "Hola "
porcion = mensaje.substring(0, 5); // porcion =
"Hola "
split(separador), convierte una cadena de texto en un array de cadenas de texto. La
función parte la cadena de texto determinando sus trozos a partir del
carácter separador indicado:
var mensaje = "Hola Mundo, soy una cadena de texto!";
var palabras = mensaje.split(" ");
// palabras = ["Hola", "Mundo,", "soy",
"una", "cadena", "de", "texto!"];
Con esta función se pueden extraer fácilmente las letras que forman una
palabra:
var palabra = "Hola";
var letras = palabra.split(""); // letras = ["H", "o", "l", "a"]