Skip to content

Commit 873500b

Browse files
committed
mouredev#2 - Javascript
1 parent 8d87705 commit 873500b

File tree

1 file changed

+176
-0
lines changed
  • Roadmap/02 - FUNCIONES Y ALCANCE/javascript

1 file changed

+176
-0
lines changed
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
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+
* DIFICULTAD EXTRA (opcional):
13+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
14+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
15+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
16+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
17+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
18+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
19+
*
20+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
21+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
22+
*/
23+
24+
// Tipos de funciones en JavaScript
25+
26+
// 1. Función mediante declaración.
27+
28+
// Sin parametros ni retorno.
29+
function sayHello() {
30+
console.log("Hello World!");
31+
}
32+
sayHello(); //Hello World!
33+
34+
// Con parametros y retorno.
35+
function sayHello2(name) {
36+
return `Hello ${name}!`;
37+
}
38+
console.log(sayHello2("World")); // Hello World!
39+
40+
// Con varios parametros y retorno.
41+
function sayHello3(name, surname) {
42+
return `Hello ${name} ${surname}!`;
43+
}
44+
console.log(sayHello3("World", "in Javascript")); // Hello World in Javascript!
45+
46+
// -------------------------- // -------------------------- // -------------------------- //
47+
48+
// 2. Función mediante expresión.
49+
50+
// Sin parametros ni retorno.
51+
const sayHello4 = function saludar() {
52+
console.log("Hello World!");
53+
};
54+
sayHello4(); // Hello World!
55+
56+
// Con parametros y retorno.
57+
const sayHello5 = function saludar(name) {
58+
return `Hello ${name}!`;
59+
};
60+
console.log(sayHello5("World")); // Hello World!
61+
62+
// Con varios parametros y retorno.
63+
64+
const sayHello6 = function saludar(name, surname) {
65+
return `Hello ${name} ${surname}!`;
66+
};
67+
console.log(sayHello6("World", "in Javascript")); // Hello World in Javascript!
68+
69+
// -------------------------- // -------------------------- // -------------------------- //
70+
71+
// 3. Función anonima.
72+
73+
// Sin parametros ni retorno.
74+
const sayHello7 = function () {
75+
console.log("Hello World!");
76+
};
77+
sayHello7(); // Hello World!
78+
79+
// Con parametros y retorno.
80+
const sayHello8 = function (name) {
81+
return `Hello ${name}!`;
82+
};
83+
console.log(sayHello8("World")); // Hello World!
84+
85+
// Con varios parametros y retorno.
86+
const sayHello9 = function (name, surname) {
87+
return `Hello ${name} ${surname}!`;
88+
};
89+
console.log(sayHello9("World", "in Javascript")); // Hello World in Javascript!
90+
91+
// -------------------------- // -------------------------- // -------------------------- //
92+
93+
// 4. Función flecha.
94+
95+
// Sin parametros ni retorno.
96+
const sayHello10 = () => {
97+
console.log("Hello World!");
98+
};
99+
sayHello10(); // Hello World!
100+
101+
// Con parametros y retorno.
102+
const sayHello11 = (name) => {
103+
return `Hello ${name}!`;
104+
};
105+
console.log(sayHello11("World")); // Hello World!
106+
107+
// Con varios parametros y retorno.
108+
const sayHello12 = (name, surname) => {
109+
return `Hello ${name} ${surname}!`;
110+
};
111+
console.log(sayHello12("World", "in Javascript")); // Hello World in Javascript!
112+
113+
// -------------------------- // -------------------------- // -------------------------- //
114+
115+
// Comprueba si puedes crear funciones dentro de funciones.
116+
117+
// Funciones anidadas.
118+
function Anidada(arg1) {
119+
return function Anidada2(arg2) {
120+
return `${arg1} ${arg2}`;
121+
};
122+
}
123+
console.log(Anidada("Hello")("World!")); // Hello World!
124+
125+
// -------------------------- // -------------------------- // -------------------------- //
126+
127+
// Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
128+
129+
// Función que recibe un rango de números y devuelve un numero aleatorio entre ellos.
130+
131+
function getRandomNumber(min, max) {
132+
return Math.floor(Math.random() * (max - min) + min);
133+
}
134+
console.log(getRandomNumber(1, 10));
135+
136+
// -------------------------- // -------------------------- // -------------------------- //
137+
138+
// Pon a prueba el concepto de variable LOCAL y GLOBAL.
139+
140+
// Variable global.
141+
let globalVar = 10;
142+
143+
function global() {
144+
console.log(globalVar);
145+
}
146+
global(); // 10
147+
148+
// Variable local.
149+
function local() {
150+
let localVar = 20;
151+
console.log(localVar);
152+
}
153+
local(); // 20
154+
155+
// -------------------------- // -------------------------- // -------------------------- //
156+
157+
// Dificultad extra
158+
159+
function extraChallenge(text1, text2) {
160+
let count = 0;
161+
for (let i = 1; i <= 100; i++) {
162+
if (i % 3 === 0 && i % 5 === 0) {
163+
console.log(`${text1} + ${text2}`);
164+
} else if (i % 3 === 0) {
165+
console.log(text1);
166+
} else if (i % 5 === 0) {
167+
console.log(text2);
168+
} else {
169+
console.log(i);
170+
count += 1;
171+
}
172+
}
173+
return `Se han mostrado ${count} veces los números`;
174+
}
175+
176+
console.log(extraChallenge("fizz", "buzz"));

0 commit comments

Comments
 (0)