Skip to content

Commit 09f85dd

Browse files
committed
#2 - Javascript
1 parent 25de14f commit 09f85dd

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
/*
2+
* EJERCICIO:
3+
* - Crea ejemplos de funciones básicas que representen las diferentes
4+
* posibilidades del lenguaje:
5+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
6+
* - Comprueba si puedes crear funciones dentro de funciones.
7+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
8+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
9+
* - Debes hacer print por consola del resultado de todos los ejemplos.
10+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11+
*
12+
* */
13+
function optNoReturn() {
14+
console.log('Esta función sin params y no retorna nada, solo imprime.');
15+
}
16+
17+
function optWithReturn() {
18+
const str = 'Esta otra función retorna una string, que se puede imprimir';
19+
return str;
20+
}
21+
22+
function optWithParamsAndNoReturn(printThis) {
23+
console.log(printThis);
24+
}
25+
26+
function optWithParamsWithReturnDouble(returnThis) {
27+
return returnThis * 2;
28+
}
29+
30+
const doubleThis = optWithParamsWithReturnDouble(4)
31+
32+
function higherOrderFunction(value){
33+
return function insideFunction(factor){
34+
return value * factor
35+
}
36+
}
37+
38+
var iAmGlobal = "soy una variable global"
39+
40+
function defineScope(){
41+
let iAmLocal = "Soy una variable local"
42+
43+
console.log({iAmGlobal})
44+
console.log({iAmLocal})
45+
}
46+
47+
optNoReturn();
48+
console.log(optWithReturn());
49+
optWithParamsAndNoReturn('Whaaaat?');
50+
console.log(optWithParamsWithReturnDouble(2));
51+
console.log(doubleThis)
52+
53+
// Uso de función que retorna otra función
54+
const doubleThisAgain = higherOrderFunction(2);
55+
console.log(doubleThisAgain(4)); // Outputs: 8
56+
57+
defineScope();
58+
console.log("esto no funciona: ", {iAmLocal})
59+
60+
61+
62+
63+
/*
64+
* DIFICULTAD EXTRA (opcional):
65+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
66+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
67+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
68+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
69+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
70+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
71+
*
72+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
73+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
74+
*/
75+
76+
function extraJob(string1, string2) {
77+
let counter = 0;
78+
let min = 1;
79+
let max = 100;
80+
81+
for (let i = min; i <= max; i++) {
82+
if (i % 3 === 0 && i % 5 === 0) {
83+
console.log(string1 + string2);
84+
} else if (i % 3 === 0) {
85+
console.log(string1);
86+
} else if (i % 5 === 0) {
87+
console.log(string2);
88+
} else {
89+
console.log(i);
90+
counter += 1;
91+
}
92+
}
93+
94+
return counter;
95+
}
96+
97+
// Llamada de ejemplo a la función
98+
console.log("Número de veces que se ha impreso el número:", extraJob("Ola", "Kease"));

0 commit comments

Comments
 (0)