Skip to content

Commit 1710252

Browse files
committed
#2 - JavaScript
1 parent defec44 commit 1710252

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
//TIPOS DE FUNCIONES EN JAVASCRIPT
2+
//DECLARACIÓN FUNCTION
3+
function saludar(nombre) {
4+
console.log(`¡Hola ${nombre}!`)
5+
}
6+
//EXPRESIÓN DE FUNCIÓN (ASIGNO UN VALOR ANONIMO A LA FUNCIÓN)
7+
const saludarAnonimo = function (nombre) {
8+
console.log(`!hola ${nombre}!`)
9+
}
10+
//FUNCIÓN DE FLECHA
11+
const saludarFlecha = (nombre) => {
12+
return `hola ${nombre}`
13+
}
14+
//FUNCIÓN CONSTRUCTORA
15+
function Persona(nombre, edad) {
16+
this.nombre = nombre;
17+
this.edad = edad;
18+
}
19+
const natalia = new Persona('natalia', 40)
20+
//METODOS DE OBJETOS
21+
const persona = {
22+
nombre: 'santiago',
23+
saludar() {
24+
console.log(`hola soy ${this.nombre}`)
25+
}
26+
}
27+
//HIGH ORDER FUNCTION
28+
function printNumberWith(number, action) {
29+
//si el numero es mayor o igual a 5, ejecuto la acción y retorno el nuevo valor
30+
if (number >= 5) return action(number)
31+
}
32+
const sumarDos = (numero) => {
33+
return numero + 2
34+
}
35+
//FUNCIONES YA CREADAS POR EL LENGUAJE
36+
const getDate = () => {
37+
const date = new Date("December 26, 1995 23:15:30");
38+
const weekday = date.getDay();
39+
return weekday // 2
40+
}
41+
//VARIABLES LOCALES Y GLOBALES
42+
const miPersona = 'Juan Martin'
43+
44+
const saludarLocal = () => {
45+
let miPersona
46+
//va a saludar a mi variable local, no a la variable global
47+
miPersona = 'santiago'
48+
return `hola, ${miPersona},`
49+
}
50+
51+
52+
53+
//EJECUCIÓN DE FUNCIONES
54+
saludar('santiago')
55+
saludarAnonimo('martin')
56+
saludarFlecha('juan')
57+
console.log(saludarFlecha(natalia.nombre))
58+
persona.saludar()
59+
console.log(printNumberWith(5, sumarDos))
60+
console.log(getDate())
61+
console.log(saludarLocal(), `hola ${miPersona}`)
62+
63+
64+
65+
/* DIFICULTAD EXTRA (opcional):
66+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
67+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
68+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
69+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
70+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
71+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
72+
*
73+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
74+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
75+
*/
76+
77+
//EJERCICIO
78+
const miFunction = (...args) => {
79+
let contadorNumeros = 0;
80+
args = args.slice(0, 2)
81+
const cadenas = args.every(e => typeof e === 'string')
82+
if (!cadenas) {
83+
args = args.map(e => {
84+
return (typeof e !== 'string') ? e.toString() : e
85+
})
86+
}
87+
for (let i = 1; i <= 100; i++) {
88+
if (i % 3 === 0 && i % 5 === 0) {
89+
console.log(`${args[0]} y ${args[1]}`)
90+
} else if (i % 3 === 0) {
91+
console.log(args[0])
92+
} else if (i % 5 === 0) {
93+
console.log(args[1])
94+
} else {
95+
console.log(i)
96+
contadorNumeros++
97+
}
98+
}
99+
return contadorNumeros
100+
}
101+
102+
103+
//EJECUCIÓN DE EJERCICIO
104+
console.log(miFunction('multiplos de 3', 'multiplos de 5'))
105+
//SIEMPRE LOS ARGUMENTOS PASADOS A MI FUNCION VAN A CAMBIAR A CADENAS DE TEXTO Y SOLO SE TOMARAN LOS DOS PRIMEROS ELEMENTOS COMO ARGUMENTOS
106+
console.log(miFunction(123, 'multiplos de 5', 'hola!', 'otro argumento'))

0 commit comments

Comments
 (0)