JAVASCRIPT
function elevarAlCuadrado( numero ) {
return numero * numero ;
}
var cuadrado = elevarAlCuadrado(10);
function elevarAlCuadrado ( entrada ) {
return entrada * entrada ;
}
var numero = 12;
var resultado = elevarAlCuadrado( numero );
console.log(`${numero} al cuadrado es ${resultado}`);
var nombre = prompt('Dime tu nombre');
while ( nombre === 'Miguel'){
alert('Lo siento, Miguel no puede pasar');
nombre = prompt('Dime otro nombre');
}
alert('Ahora si puedes pasar' + nombre);
En Javascript al igual que en otros lenguajes, podemos hacer muchas cosas con las strings. De hecho, tienen muchos métodos:
string.indexOf(string, indice)
string.lastIndexOf(string, indice)
string.includes(string, indice)
string.toLowerCase()
string.toUpperCase()
string.trim()
string.replace(string)
Los objetos nacen con el objetivo de poder representar datos más complejos y acercarlos a la realidad.
Por ejemplo, una persona o un usuario no solo tiene nombre y no se representaría al completo con una string con su nombre, para ello creamos un objeto que tiene varias "propiedades"
var usuario = {
nombre : 'Yunior',
edad : 26,
email : 'yunior@squaads.com',
}
var usuario = {
nombre : 'Yunior',
edad : 23,
email : 'yunior@squaads.com'
}
var nombre = usuario.nombre;
var edad = usuario.edad;
console.log("El usuario se llama " + nombre +
"y tiene " + edad + " años");
var frutas = [ "peras" , "manzanas" , "platanos"];
console.log( 'La primera fruta es ' + frutas[0]);
console.log( 'La segunda fruta es ' + frutas[1]);
console.log( 'La tercera fruta es ' + frutas[2]);
console.log(frutas);
Al igual que en otros lenguajes, las posiciones van desde el cero hasta el tamaño menos 1.
Si tenemos 5 elementos => 0 , 1 , 2 , 3 y 4
var frutas = [ "peras" , "manzanas" , "plátanos"];
frutas.push('kiwi'); // 4
console.log(frutas); // ["peras" , "manzanas" , "plátanos", "kiwi"]
frutas.pop(); // "kiwi"
console.log(frutas); // ["peras" , "manzanas" , "plátanos"]
var frutas = [ "peras" , "manzanas" , "platanos"];
for ( var indice = 0 ; indice < frutas.length ; indice++){
console.log("La fruta es " + frutas[indice] );
}
for ( var indice = 0 ; indice < 3 ; indice++ )
Inicialización
condición
nuevo estado
var frutas = [ "peras" , "manzanas" , "platanos"];
var numeroFrutas = frutas.length;
for (var pos = 0; pos < numeroFrutas ; pos++){
var fruta = frutas[pos];
var numero = pos + 1;
console.log("La fruta número " + numero + " es " + fruta);
}
var frutas = ["plátanos", "manzanas" , "peras"]
var contador = 0;
while ( contador < frutas.length ){
var fruta = frutas[contador];
alert("Fruta encontrada: " + fruta);
contador++;
}
¡IMPORTANTÍSIMO!
Cuidado con los bucles infinitos y los whiles. Muchas RAM han muerto en el intento de hacer diapos como estas
Variables primitivas (boolean, number, string)
Estructuras de control (el if y el switch)
el bucle for y el while
los Arrays
y las funciones
El forEach es un bucle que nos permite recorrer de manera MUCHO MÁS SENCILLA un array
AUNQUE TE AVISO, LA PRIMERA VEZ TE VA A ASUSTAR ;) AVISADO QUEDAS
var users = [ "Yunior", "Miguel" ];
users.forEach( function (user) {
console.log(user);
});
El método forEach() ejecuta la función indicada una vez por cada elemento del array.
var users = [ "Yunior", "Miguel" ];
users.forEach( function (user, indice) {
console.log(`usuario = ${user}`);
console.log(`posicion = ${indice}`);
});
Si necesito usar la posición, puedo pedirle al forEach que me diga las posiciones.
Para eso, le indico una función con dos parámetros.
var dnis = [ "44552342B", "12345678A" ];
dnis.forEach( function (dni) {
if (dni == "12345678A"){
alert('Te encontré');
}
});
Recorrer los DNIs y si encuentro el 12345678A muestra un mensaje
var dnis = [ "44552342B", "12345678A" ];
dnis.forEach( function (dni, indice) {
if (dni == "12345678A"){
dnis.splice(indice, 1);
}
});
Recorrer los DNIS y si encuentro el 12345678A lo borramos
Crea un array con el nombre de 3 platos
var frutas = [ "pizza", "macarrones", "chorizo" ]
Recorre el array con un forEach y muestra en la consola cada plato
Crea una variable llamada pizza dónde vamos a almacenar una pizza.
Esta pizza:
Muestra en consola un mensaje que describa la pizza.
Ahora preguntale al usuario que pizza quiere comprar. Deja que introduzca el nombre que quiera, que luego introduzca un valor del tamaño de la pizza (pídele que sea S M o XL) y por último, crea una pizza con esas dos carácteristicas y con uno de estos precios según el tamaño:
Si escogió S valdría 7,50€
Si escogió M valdría 12€
Si escogió XL valdría 17€
Por último muestra un mensaje en la consola como en el anterior ejercicio
Usa el siguiente array de pizzas
var pizzas = [
{
name : 'Margarita',
size : 'S',
price : 4.50
},{
name : 'Marinera',
size : 'S',
price : 5.50
},{
name : 'Margarita',
size : 'M',
price : 7.50
}
]
Recorre el array de las pizzas y muestra un mensaje descriptivo para cada una de ellas.
EXTRA: al terminar, muestra un mensaje que diga, el precio total de las 3 pizzas es de 'XX.XX euros'
Copia este array => LINK
Recorre el array y busca aquellos que tienen un correo acabado en .com y cuéntalos
Recorre el array y busca aquellos que tienen un correo acabado en .net y cuéntalos
Recorre el array y busca aquellos que tienen un correo acabado en .org y cuéntalos
Recorre el array y busca aquellos que tienen un correo acabado en .es y cuéntalos
Recorre el array y busca aquellos que tienen un correo acabado en .tv y cuéntalos
Copia este array => LINK
Recorre el array guarda en un nuevo array todos los correos de uno en uno. De esta forma, tendrías un array de solo correos, es decir de strings.
Crea un array, con 4 o 5 alumnos. Que cada alumno tenga nombre, apellidos y edad
Luego, haz un bucle que recorra el array y cuente cuantos tienen más de 26 años
Haced otro bucle que cuente cuantos tienen la letra 'a' en el nombre
Que se muestren los resultados por la consola
¡ CODIGO LIMPIO Y CON FUNCIONES !
Con foreachs. Máximo 10 líneas por función
Un callback (llamada de vuelta) es una función que recibe como argumento otra función para ejecutarla más tarde.
En el siguiente ejemplo, la función foo recibe por parámetro otra función, que es el callback. La función foo es la encargada de ejecutar el callback.
function foo(callback) {
//do something
callback();
}
En el siguiente ejemplo, la función foo recibe por parámetro otra función, que es el callback. La función foo es la encargada de ejecutar el callback.
function foo(callback) {
//do something
callback();
}
function gritar(){
console.log('AHHH !!! ')
}
foo(gritar)
function foo(callback) {
//do something
callback();
}
function gritar(){
console.log('AHHH !!! ')
}
foo(gritar())
¿?
function foo(callback) {
//do something
callback();
}
function gritar(){
console.log('AHHH !!! ')
}
foo(gritar())
¿?
¿?
¿?
function foo(callback) {
//do something
callback();
}
function gritar(){
console.log('AHHH !!! ')
}
foo(gritar())
¿?
function foo(callback) {
//do something
callback();
}
function gritar(){
console.log('AHHH !!! ')
}
foo(gritar())
var users = [ "Yunior", "Miguel" ];
users.forEach( function (user) {
console.log(user);
});
El método forEach() ejecuta la función indicada una vez por cada elemento del array.
var users = [ "Yunior", "Miguel" ];
function muestroPorConsola(algo){
console.log(algo);
}
users.forEach(muestroPorConsola);
El método forEach() ejecuta la función indicada una vez por cada elemento del array.
var users = [ "Yunior", "Miguel" ];
function muestroPorConsola(algo){
console.log(algo);
}
users.forEach(muestroPorConsola());
El método forEach() ejecuta la función indicada una vez por cada elemento del array.
¿y esta?
var users = [ "Yunior", "Miguel" ];
function muestroPorConsola(algo){
console.log(algo);
}
users.forEach(muestroPorConsola);
var users = [ "Yunior", "Miguel" ];
users.forEach( function (user) {
console.log(user);
});
Ya no hay más teoría sobre variables, bucles, arrays, funciones, objetos, etc.
¡ Ahora toca hacer dinámica nuestra web con todo esto que sabemos !
Cuando desarrollamos una web, podemos acceder a unas determinadas variables y funciones que ya están creadas por defecto.
Por ejemplo, cuando usábamos el console.log() o el alert eran funciones globales
var nuestraWeb = document.body;
nuestraWeb.innerHTML = `<h1> Nuevo HTML</h1>`
var mensaje = "Mi nombre";
mensaje = mensaje + ' no es ';
mensaje += 'Miguel';
console.log(mensaje) // Mi nombre no es Miguel
Pausa informativa
var results = document.getElementById('results');
var numero = 25;
results.innerHTML += `<p> Nuevo resultado = ${numero}</p>`;
<body>
<div id="results">
<h1> Zona de resultados <h1>
</div>
</body>
var displaySection = document.getElementById('display');
var username = prompt(`Hola, ¿cómo te llamas?`);
displaySection.innerHTML += `<h1> Bienvenido ${username}</h1>`;
<body>
<div id="display"></div>
</body>
Ahora que sabemos escribir en el HTML, vamos a darle uso. Crea un article en el html con el id "myArticuloDeJavaScript" Desde el código de JavaScript, accede a el mediante el ID y guardalo en una variable. A continuación, añadele estas tres cosas: - Un h2 con un título. - Un párrafo con cualquier contenido. - Un blockquote con una frase
Crea dos elementos en el HTML con los identificadores que prefieras para poder acceder a ellos desde javascript luego. Pídele al usuario su nombre y luego su edad. Añade a uno de los dos elementos de la pantalla un mensaje de bienvenida con su nombre y con un formato de <h2>. En el otro bloque, añade un mensaje de 'No deberías entrar a esta web si eres menor de edad, ¿estás seguro?' y además dos botones (<button>) uno que ponga SI y otro NO. (añádelo solamente si era menor de 18)
Crea un elemento en el HTML con el identificador 'listaDeFrutas'
Crea un array vacío que se llamará frutas. INVESTIGA como crear un array vacío si no lo sabes ;) #GoogleIsYourFriend
Pídele al usuario que introduzca sus 3 frutas favoritas y ve añadiéndolas al array
Ahora viene lo bueno ;) en ese elemento que hay en el DOM, añade una lista dónde aparezcan cada una de las frutas y una cabezera que diga 'Estas son tus frutas favoritas:'
<button onClick="peligro()"> ¡ NO ME PULSES ! </button>
function peligro(){
alert('Peligro !!');
}
<li class="user"
onClick="userSelected('Pepe')">
<h2>Pepe</h2>
</li>
function userSelected(username){
console.log(username);
}
Ahora que sabes imprimir en el DOM usando el innerHTML y ahora que sabes detectar clicks.
¿Te animas a hacer un Piedra Papel y Tijeras con interfaz?