Atom

Increíble editor web, uno de mis favoritos.
Gratis, multiplataforma, de código abierto, ligero y personalizable. No se le puede pedir más.
En esta página tienes numeradas todas las soluciones a los ejercicios realizados durante todo el curso. Si te quedan dudas o tienes un resultado diferente, déjame un comentario, ya que a veces, un ejercicio puede tener muchas posibles soluciones.
alert()
por un document.write()
. Un ejercicio tan fácil que parece con trampa, pero no la hay. Lo único que pretendía con este ejercicio es que hayas comprendido que puedes ejecutar el código que quieras desde un evento.<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Introducción a los eventos</title>
<script src="test.js"></script>
<link href="test.css" rel="stylesheet" />
</head>
<body>
<button onclick="document.write('¡Has pulsado el botón!');">¡NO PULSAR!</button>
</body>
</html>
alert()
por un document.write()
. Un ejercicio tan fácil que parece con trampa, pero no la hay. Lo único que pretendía con este ejercicio es que hayas comprendido que puedes ejecutar el código que quieras desde un evento.let vehiculo = {
marca: 'Opel',
color: 'negro',
numeroRuedas: 4,
numeroPlazas: 5,
tipo: 'deportivo',
precio: 10000,
};
let vehiculo = {
marca: 'Opel',
color: 'negro',
numeroRuedas: 4,
numeroPlazas: 5,
tipo: 'deportivo',
precio: 10000,
};
alert('El vehículo con marca ' + vehiculo.marca + ' de color ' + vehiculo.color + ' tiene un coste de ' + vehiculo.precio + ' $.')
El vehículo con marca Opel de color negro tiene un coste de 10000 $.
'azul'
pertenece a la propiedad color3
del espacio de nombres (objeto en este caso) colores
.console.log(colores.color3)
"azul"
'naranja'
pertenece a la propiedad color1
del espacio de nombres (objeto) secundarios
que es una propiedad del espacio de nombres (objeto) colores
.console.log(colores.secundarios.color1)
"naranja"
'rojo-púrpura'
pertenece a la propiedad color5
del espacio de nombres (objeto) terciarios
que es una propiedad del espacio de nombres (objeto) secundarios
que este a su vez, es una propiedad del espacio de nombres (objeto) colores
.console.log(colores.secundarios.terciarios.color5)
"rojo-púrpura"
usuario.telefonos.telefono3 = "0489070688";
console.log(usuario);
edad: 30,
idiomas: ["Español", "Catalán", "Inglés", "Portugués", "Italiano"],
nombre_completo: ["Enrique", "Barros", "Fernández"],
pais_residencia: "Australia",
telefonos: {
telefono1: "0467489304",
telefono2: "0446395860",
telefono3: "0489070688"
}
}
usuario.nombre_completo = ['Nombre', 'apellido1', 'apellido2'];
console.log(usuario);
{
edad: 30,
idiomas: ["Español", "Catalán", "Inglés", "Portugués", "Italiano"],
nombre_completo: ["Nombre", "apellido1", "apellido2"],
pais_residencia: "Australia",
telefonos: {
telefono1: "0467489304",
telefono2: "0446395860"
}
}
usuario.idiomas[4] = 'Francés';
console.log(usuario);
{
edad: 30,
idiomas: ["Español", "Catalán", "Inglés", "Portugués", "Francés"],
nombre_completo: ["Enrique", "Barros", "Fernández"],
pais_residencia: "Australia",
telefonos: {
telefono1: "0467489304",
telefono2: "0446395860"
}
}
let usuario = {
nombre_completo: ['Enrique', 'Barros', 'Fernández'],
edad: 30,
telefonos : {
telefono1: '0467489304',
telefono2: '0446395860'
},
pais_residencia: 'Australia',
idiomas: ['Español', 'Catalán', 'Inglés', 'Portugués', 'Italiano'],
};
delete usuario.nombre_completo[2];
console.log(usuario.nombre_completo);
En lugar de eliminar la posición, elimina el valor y deja una posición vacía.
['Enrique', 'Barros', vacío]
Este capítulo no tiene ejercicios.
let usuario3 = new Usuario(
'Ramiro',
'Beltrán Calderón',
54,
'657483920',
'España',
['español', 'inglés']
);
edad
.console.log(usuario2.edad);
24
2
que no es lo mismo que la segunda posición.console.log(usuario1.idiomas[2]);
inglés
usuario1.direccion;
usuario1.biografia;
delete usuario1.edad;
delete usuario2.edad;
this.muestraIdiomas = function() {
console.log(this.nombre_completo.nombre + " habla " + this.idiomas + '.');
}
Ten en cuenta, si has intentado mejorar la presentación del console.log()
, que no es correcto si has puesto manualmente las posiciones del array. Ya que un objeto puede tener un array de 5 posiciones y otro de 3 o el número que sea. Cuando trabajas con funciones constructoras, tienes que pensar en dinámico y no en estático.
this.muestraIdiomas = function() {
console.log(this.nombre_completo.nombre
+ " habla "
+ this.idiomas[0]
+ ', '
+ this.idiomas[1]
+ ', '
+ this.idiomas[2]
+ ', '
+ this.idiomas[3]
+ ', '
+ this.idiomas[4]
+ '.');
}
Enrique habla español, catalán, inglés, portugués, italiano.
Aunque funciona con usuario1
, no lo hace con un usuario que tuviera más o menos posiciones en el array. La salida en la consola, sería así:
Andrea habla español, portugués, inglés, undefined, undefined.
Para hacerlo correctamente, por ejemplo, podrías crear un pequeño bucle que itere las posiciones del array. Ya veremos como hacer esto, no importa que te mates a intentarlo.
De todas formas, si no sabes si está bien como lo hayas hecho, me puedes dejar un comentario con el código y me lo miro.
Usuario
(objeto literal) se crea la instancia con create()
. Después, le damos las propiedades y métodos que queramos. En este caso, bastaba solo con las propiedades de la plantilla.let Usuario = {
nombre: null,
edad: null,
telefono: null,
paisResidencia: null,
idiomas: [],
};
let usuario1 = Object.create(Usuario);
usuario1.nombre = "Enrique";
usuario1.edad = 30;
usuario1.telefono = "0467489304";
usuario1.paisResidencia = "Australia";
usuario1.idiomas = ['Español', 'Catalán', 'Inglés', 'Portugués', 'Italiano'];
console.log(usuario1);
edad: 30
idiomas: (5) ['Español', 'Catalán', 'Inglés', 'Portugués', 'Italiano']
nombre: "Enrique"
paisResidencia: "Australia"
telefono: "0467489304"
Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.
Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.
No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.
Si te quedan dudas sobre el temario, sobre JavaScript, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.