Guía JavaScript
Guía JavaScript
Método getElementById ()
El método getElementById() Permite encontrar un elemento HTML a través del valor del
atributo id y cambiar su contenido (innerHTML), el valor de sus atributos, modificar estilos,
ocultar o mostrar el elemento.
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejemplo 4
Etiqueta <script>
El código JavaScript debe encerrarse entre las etiquetas <script></Script>. Se puede colocar
cualquier cantidad de secuencias de comandos en un documento HTML.
Los scripts se pueden colocar en la sección <body>, o en la <head> de una página HTML, o en
ambos.
Ejemplo
Una función de JavaScript es un bloque de código JavaScript, que se puede ejecutar cuando se
"llama".
Por ejemplo, se puede invocar una función cuando ocurre un evento, como cuando el usuario
hace clic en un botón.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<script>
function miFuncion() {
document.getElementById("demo5").innerHTML = "Párrafo cambiado.";
}
</script>
</head>
<body>
<h2>JavaScript en el Head</h2>
<p id="demo5">Un párrafo.</p>
<button type="button" onclick="miFuncion()">Cambiar párrafo</button>
</body>
</html>
JavaScript externo
Los scripts también pueden colocarse en archivos externos. Los archivos JavaScript tienen la
extensión de archivo .js.
Los scripts externos son prácticos cuando se usa el mismo código en muchas páginas web
diferentes.
Para usar un script externo, coloque el nombre del archivo de script (url) en el atributo src
(fuente) de una etiqueta <script>:
<script src="Scripts/Script.js"></script>
Ejemplo
Las etiquetas <script> para hacer referencia a archivos externos se pueden colocar en el <head> o
en el <body>.
El valor del atributo src (fuente) puede incluir referencias relativa a la página actual o absolutas.
Salida de JavaScript
Una llamada a document.write() desde un botón cambia todo el contenido de la página, por el
resultado de la expresión pasada al método document.write()
<!DOCTYPE html>
<html>
<body>
<h2>Salida JavaScript</h2>
<p>Usando document.write()</p>
<button type="button" onclick="document.write(5 + 6)">Cambiar contenido</button>
</body>
</html>
Programas de JavaScript
Declaraciones de JavaScript
Las instrucciones se separan con punto y coma. En una misma línea se pueden escribir varias
instrucciones:
Ejemplo
<!DOCTYPE html>
<html>
<body>
<h2>Instrucciones JavaScript</h2>
<p>Las instruciones JavaScript se separan con punto y coma.</p>
<p id="suma"></p>
<script>
var a, b, c; // Declara 3 variables
a = 5; // Asigna el valor 5 a la variable a
b = 6; // Asigna el valor 6 a la variable b
c = a + b; // Asigna la suma de a y b a c
document.getElementById("suma").innerHTML = "La suma de "+ a + " + " + b +" = "+ c ;
</script>
</body>
</html>
Palabras clave JavaScript
Las declaraciones de JavaScript a menudo comienzan con una palabra clave para identificar la
acción de JavaScript que se realizará.
Las palabras clave de JavaScript son palabras reservadas. Las palabras reservadas no se pueden
usar como nombres para las variables.
Sintaxis de JavaScript
Valores de JavaScript
La sintaxis de JavaScript define dos tipos de valores: valores constantes (literales) y valores
variables (variables).
Literales de JavaScript
Variables de JavaScript
JavaScript usa un operador de asignación (=) para asignar valores a las variables:
Expresiones de JavaScript
Una expresión es una combinación de constantes, variables y operadores, que calcula un valor.
Expresión Evaluación
5 * 10 50
var x = 3;
x * 10 30
"Juan" + " " + "Pérez" "Juan Pérez"
Comentarios de JavaScript
El código después de barras dobles // hasta el fin de línea se trata como un comentario
El código entre / * y * / se trata como un comentario. Se utiliza para comentarios de varias líneas.
Identificadores de JavaScript
• En JavaScript, el primer carácter debe ser una letra, un guión bajo (_) o un signo de dólar ($).
• Los caracteres subsiguientes pueden ser letras, dígitos, guiones bajos o signos de dólar.
• Los números no están permitidos como el primer caracter. De esta forma, JavaScript puede
distinguir fácilmente los identificadores de los números.
La sentencia var apellido, Apellido; declara dos variables diferentes apellido y Apellido
Nomenclatura JavaScript
Los programadores de JavaScript tienden a usar Lower Camel Case, la primera palabra se
escribe con letra minúscula y la primera letra de las palabras restantes con mayúscula:
Operadores de JavaScript
Operador Descripción
+ Adición
- Substracción
* Multiplicación
/ División
% Modulo (Resto)
++ Incremento
-- Decremento
Operator Description
== Igual a
=== Igual valor y tipo
!= No igual
!== No igual valor o no igual tipo
> Mayor que
< Menor que
>= Mayor o igual a
<= Menor o igual a
? Operador condicional
Operador Descripción
&& and
|| or
! not
Operador Descripción
typeof Retorna el tipo de una variable
Retorna verdad si un objeto es una instancia de
instanceof
un tipo de objeto
Operadores a nivel de bit de JavaScript
Al agregar dos números, se devolverá la suma, pero agregar un número y una cadena devolverá
una cadena:
Datos primitivos
Un valor de dato primitivo es un único valor de dato simple sin propiedades y métodos
adicionales. El operador typeof puede devolver uno de estos tipos primitivos:
string
number
boolean
undefined
Datos complejos
function
object
Ejemplo
typeof { nombre:"Juan", edad:50} // Devuelve "object"
typeof [1,2,3,4] // Devuelve "object"
typeof null // Devuelve "object"
typeof function suma(){} // Devuelve "function"
Las variables de JavaScript pueden contener muchos tipos de datos: números (number), cadenas
(string), lógicos (boolean) y objetos (object)
El siguiente código declara (crea) una matriz llamada autos, que contiene tres elementos
(nombres de automóviles):
Ejemplo
var autos = ["Fiesta", "Aveo", "BMW"];
Los índices de matriz están basados en cero, lo que significa que el primer elemento es [0], el
segundo es [1], y así sucesivamente.
Objetos de JavaScript
Las propiedades del objeto se escriben como pares nombre: valor, separados por comas.
Ejemplo
var persona = {nombre:"Juan", apellido:"Pérez", edad:25, colorOjos:"azul"};
Tipo undefined
Cualquier variable puede vaciarse, estableciendo el valor como undefined. El tipo también
estará undefined.
Ejemplo:
var auto = undefined;
Tipo null
En JavaScript, null es "nada". Se supone que es algo que no existe.
Ejemplo
var persona = {nombre:"Juan", apellido:"Pérez", edad:25, colorOjos:"azul"};
persona = null; // Ahora el valor es null, pero el tipo es object.
Sentencias selectivas
Sentencia if
La instrucción if se utiliza para especificar un bloque de código JavaScript que se ejecutará si una
condición es verdadera.
Sintaxis
if (condición) {
Ejemplo
El siguiente código cambia el contenido del elemento con id ="saludo" por "¡Buenos días!", si la
hora es menor que 12
<!DOCTYPE html>
<html>
<body>
<h1>Saludo</h1>
<p>Cambia "¡Hola!" por "¡Buenos días!" si la hora es menor que 12:00:</p>
<p id="saludo">¡Hola!</p>
<script>
if (new Date().getHours() < 12) {
document.getElementById("saludo").innerHTML = "¡Buenos días!";
}
</script>
</body>
</html>
Sentencia if … else
La instrucción else se utiliza para especificar un bloque de código que se ejecutará si la condición
es falsa.
Sintáxis
if (condición) {
bloque de código que se ejecutará si la condición es verdadera
} else {
bloque de código que se ejecutará si la condición es falsa
}
Ejemplo
El siguiente código cambia el contenido del elemento con id ="saludo" por "¡Buenos días!", si la
hora es menor que 12, de lo contrario lo cambia por "¡Buenas tardes!"
<!DOCTYPE html>
<html>
<body>
<h1>Saludo</h1>
<p>Cambia "¡Hola!" por "¡Buenos días!" si la hora es menor que 12:00 sino cambia por "¡Buenas tardes!" </p>
<p id="saludo">¡Hola!</p>
<script>
if (new Date().getHours() < 12) {
document.getElementById("saludo").innerHTML = "¡Buenos días!";
}
else {
document.getElementById("saludo").innerHTML = "¡Buenas tardes!";
}
</script>
</body>
</html>
La sentencia switch compara el valor resultado de evaluar una expresión con varios valores
constantes, si coincide con un valor ejecuta el código asociado hasta encontrar una sentencia
break la cual envía la ejecución después de la llave que cierra el switch. Si no coincide con
ningún valor ejecuta el código asociado a la sentencia default, si esta no existe no ejecuta nada.
En la Sentencia switch la comparación es (===) los valores deben coincidir en valor y tipo.
Sintaxis
switch(expresión) {
case n:
bloque de código
break;
case n:
bloque de código
break;
default:
bloque de código
}
Ejemplo
En el siguiente código la sentencia switch evalua la expresión new Date().getDay() que devuelve
el número del dia de la semana comprendido entre 0 y 6, entonces se asigna a la variable dia el
nombre del día de la semana, siendo que 0 es Domingo, 1 es Lunes, etc.
<!DOCTYPE html>
<html>
<body>
<p id="dia"></p>
<script>
var dia;
switch (new Date().getDay()) {
case 0:
dia = "Domingo";
break;
case 1:
dia = "Lunes";
break;
case 2:
dia = "Martes";
break;
case 3:
dia = "Miércoles";
break;
case 4:
dia = "Jueves";
break;
case 5:
dia = "Viernes";
break;
case 6:
dia = "Sábado";
}
document.getElementById("dia").innerHTML = "Hoy es " + dia;
</script>
</body>
</html>
Sentencias de repetición
Las sentencias de repetición permiten ejecutar un bloque de código varias veces.
Sentencia for
La sentencia for es controlada por una variable o contador que se inicia con un valor y cada vez
que se ejecuta el ciclo se incrementa (o decrementa) hasta llegar a un valor final
Sintaxis:
for (Inicialización; Condición; Variación) {
bloque de código a ser ejecutado
}
Ejemplo
Sentencia for / in
Sentencia while
El ciclo while repite un bloque de código siempre que una condición especificada sea verdadera.
Sintaxis
while (condición) {
bloque de código a ser ejecutado
}
Ejemplo
Sentencia do / while
Este ciclo ejecutará el bloque de código una vez, antes de verificar si la condición es verdadera,
luego repetirá el ciclo siempre que la condición sea verdadera.
Sintaxis
do {
bloque de código a ser ejecutado
} while (condición);
Ejemplo
El siguiente código muestra los dígitos del sistema decimal
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Dígitos decimales</h2>
<p id="digitos"></p>
<script>
var text = "";
var i = 0;
do {
text += "<br>" + i;
i++;
}while (i < 10);
document.getElementById("digitos").innerHTML = text;
</script>
</body>
</html>
Sintaxis 1:
//Código
});
Ejemplo 1:
En este ejemplo se crea una función que mostrará un mensaje una vez que la página (objeto
window) se ha cargado (evento load)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Eventos</title>
</head>
<body>
<script>
window.addEventListener("load", function () {
alert('La página se ha cargado');
});
</script>
</body>
</html>
Ejemplo 2:
En este ejemplo se crea una función que se ejecutará al hacer click en el elemento button (id =
“btnCambiarColor”. La función cambiará el color del elemento p (id = “p1”)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Eventos</title>
</head>
<body>
<p id="p1">Creando manejadores de eventos</p>
<button id="btnCambiarColor">Cambiar color</button>
<script>
var btnCambiarColor = document.getElementById("btnCambiarColor");
btnCambiarColor.addEventListener("click", function () {
document.getElementById("p1").style.color = "Blue";
});
</script>
</body>
</html>
Sintaxis 2:
//Código
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Eventos</title>
</head>
<body>
<p id="p1">Creando manejadores de eventos</p>
<button id="btnCambiarColor">Cambiar color</button>
<script>
var btnCambiarColor = document.getElementById("btnCambiarColor");
btnCambiarColor.addEventListener("click", cambiarColor);
function cambiarColor() {
document.getElementById("p1").style.color = "Blue";
}
</script>
</body>
</html>
La sintaxis de la sentencia para desactivar un menejador de evento es:
objeto.removeEventListener("evento", nombreFuncion);
Obtener propiedades de un evento
Se puede pasar a una función el evento, y obtener las propiedades de dicho evento
Ejemplo 1:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Proiedades de un evento</title>
</head>
<body>
<p id="p1">Propiedades de un evento</p>
<button id="btnProbar">Probar</button>
<script>
var btnProbar= document.getElementById("btnProbar");
btnProbar.addEventListener("click", probar);
function probar(evento) {
alert(evento.type); //Tipo de evento
alert(evento.screenX); //Posición con relación al borde izquierdo donde se hizo click
}
</script>
</body>
</html>
Ejemplo 2:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Proiedades de un evento</title>
</head>
<body>
<p id="p1">Propiedades de un evento</p>
<script>
window.addEventListener("keydown", tecla_presionada);
function tecla_presionada(evento) {
alert(evento.type); //Tipo de evento
alert(evento.keyCode); //Código de la tecla presionada
}
</script>
</body>
</html>
Clases y Objetos
En el constructor se definen los atributos o propiedades del objeto y los métodos o funciones que
puede ejecutar del objeto.
En Javascript no existe una sentencia para definir una clase, se define directamente la función
constructor
function nombreClase(){
Ejemplo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Objetos JavaScript</title>
</head>
<body>
<h1 id="texto"></h1>
<script>
function Numero(valor){ //El constructor, recibe un número con el parámetro valor
this.numero = valor; //El número recibido se asigna al atributo o propiedad numero
this.par = function(){
if (this.numero % 2 == 0){
this.tipo = " es par";
} else {
this.tipo = " es impar";
}
document.getElementById("texto").innerHTML = "Número: " + this.numero + this.tipo ;
}
}
var numero = new Numero(8); //Crea un objeto de la clase Numero le pasa el número 8
numero.par(); //El objeto numero ejecuta el método par()
</script>
</body>
</html>