Skip to content

Commit b698c33

Browse files
committed
#2 - Javascript
1 parent 36c210c commit b698c33

File tree

1 file changed

+223
-0
lines changed

1 file changed

+223
-0
lines changed
Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
//*#02 FUNCIONES Y ALCANCE
2+
3+
/*
4+
EJERCICIO:
5+
* - Crea ejemplos de funciones básicas que representen las diferentes
6+
* posibilidades del lenguaje:
7+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
8+
*/
9+
10+
// Funciones definidas por el usuario
11+
12+
function greet (){
13+
console.log('Hola JavaScript');
14+
}
15+
16+
greet();
17+
18+
// Con Retorno
19+
20+
function returnGreet(){
21+
return 'Hola JavaScript';
22+
}
23+
24+
console.log(returnGreet())
25+
26+
//Con Argumento
27+
28+
function argGreet(greet, name){
29+
console.log( greet+' '+ name );
30+
}
31+
32+
argGreet('Hi','Julius Batista para ti ');
33+
34+
//Con argumentos predeterminado
35+
36+
function defaultArgGreet(greet, name = 'Julini'){
37+
console.log( greet+' '+ name );
38+
}
39+
40+
defaultArgGreet('Hi');
41+
42+
//Con Argumento de posición
43+
44+
//en este caso en JavaScript es necesario ponerlo como objetos para que independientemente del orden pueda funcionar.
45+
46+
function argGreetPosition({saludo, nombre}){
47+
console.log( saludo+' '+ nombre );
48+
}
49+
50+
argGreetPosition({nombre:'Julius Batista para ti', saludo :'hola'});
51+
52+
//Con Argumentos y retorno
53+
54+
function returnArgsGreet (greet,name){
55+
return [greet,name];
56+
}
57+
58+
console.log(returnArgsGreet('hola','julian'))
59+
60+
//Con retorno de varios Valores
61+
62+
function multipleReturnGreet() {
63+
return ['Hola', 'Mundo'];
64+
}
65+
66+
const [saludo, nombre] = multipleReturnGreet();
67+
68+
console.log(multipleReturnGreet()); // Mostrar la referencia de la función
69+
70+
71+
// Con un numero variable de argumentos
72+
73+
function variableArgGreet(...nombres){
74+
for (let nombre of nombres){
75+
console.log('hola',nombre)
76+
}
77+
}
78+
79+
variableArgGreet('julian','Phelps','Ilia')
80+
81+
// con un numero variable de argumentos con palabra clave
82+
83+
84+
function variableKeyArgGreet(nombres){
85+
for(let [param,key] of Object.entries (nombres))
86+
{console.log(`${param}:${key}`)};
87+
}
88+
89+
/*
90+
* En este ejemplo:
91+
92+
* La función variableArgGreet acepta un objeto nombres.
93+
* Object.entries(nombres) convierte el objeto en un array de pares clave-valor.
94+
* Usamos un bucle for...of para iterar sobre los pares clave-valor y colocar los parametros a cada uno.
95+
*/
96+
97+
variableKeyArgGreet({nombre:'Julian', edad:'205', profesion:'programador'});
98+
99+
100+
// Forma de expresar las funciones
101+
102+
//Funcion expresada
103+
104+
let sum = function (a,b){
105+
return (a+b);
106+
}
107+
108+
console.log(sum(3,5));
109+
110+
//Funcion de flecha
111+
112+
let rest = (x,y) => {
113+
return (x-y)
114+
}
115+
console.log(rest(3,5));
116+
117+
//* tambien se podria expresar asi
118+
119+
let div = (x,y) => x/y
120+
121+
console.log(div(4,2));
122+
123+
/*
124+
* Comprueba si puedes crear funciones dentro de funciones.
125+
*/
126+
127+
let funcionExterna = ( a,b ) =>{
128+
129+
let funcionInterna = (x) => x*x;
130+
131+
return funcionInterna(a) + funcionInterna(b);
132+
133+
}
134+
console.log(funcionExterna(2,8));
135+
136+
137+
/*en este caso la funcion interna hace el siguiente trabajo
138+
139+
1) al dar un valor de 2 a (a) y de 8 a (b) y al decir que la funcion interna es x*x
140+
entonces diriamos que (2*2) = 4 y (8*8) = 64
141+
142+
2) como estos valores se suman diriamos que 4 + 64 es igual a 68
143+
144+
3) por consiguiente al imprimirlo y llamar a la funcion externa el valor o resultado final es 68
145+
146+
*/
147+
148+
149+
/*
150+
* Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
151+
*/
152+
153+
console.log(Math.max(1,3,2)); // esta funcion elige el numero mayor de los expuestos en una lista
154+
155+
console.log(Math.random(10,12)); // la funcion Math.random elige un numero aleatorio entre los valores expuestos;
156+
157+
158+
//Funcion del objeto Date
159+
160+
let momento = new Date ();
161+
console.log(momento);
162+
163+
// Funciones del Objeto String
164+
165+
console.log( 'texto'.length);
166+
167+
/*
168+
* Pon a prueba el concepto de variable LOCAL y GLOBAL.
169+
*/
170+
171+
//Variables locales y Globales
172+
173+
//Variables Globales
174+
//se puede acceder a ella asi este en fuera de la funcion
175+
176+
177+
let globalVar = ('soy una variable global');
178+
179+
let seeGlobal =()=>{
180+
console.log(globalVar);
181+
}
182+
183+
seeGlobal();
184+
console.log(globalVar);
185+
186+
//Variables locales
187+
//Solo se puede acceder a ellar cuando se declaran dentro de la funcion si estan por fuera no
188+
189+
let localVar = (mult)=> {
190+
let mult1 = mult*2
191+
console.log(mult1)
192+
}
193+
194+
localVar(2);
195+
// console.log(mult1);
196+
197+
/*
198+
DIFICULTAD EXTRA (opcional):
199+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
200+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
201+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
202+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
203+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
204+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
205+
*/
206+
207+
let funTwo = (num1, num2) => {
208+
let n1 = parseFloat(num1);
209+
let n2 = parseFloat(num2);
210+
211+
for (let i = 1; i <= 100; i++) {
212+
if (i % 3 == 0 && i % 5 == 0) {
213+
console.log(num1, num2);
214+
} else if (i % 3 == 0) {
215+
console.log(num1);
216+
} else if (i % 5 == 0) {
217+
console.log(num2);
218+
} else {
219+
console.log(i);
220+
}
221+
}
222+
}
223+
funTwo('num1','num2');

0 commit comments

Comments
 (0)