Skip to content

Commit e33b68c

Browse files
authored
Merge pull request mouredev#7556 from rlores-edison/raquelLoresDev
#2 - javascript
2 parents 28644d6 + e795c41 commit e33b68c

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
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+
*/
10+
11+
12+
13+
14+
// Función sin parámetros ni retorno;
15+
// Retorna el valor de la expresión que se le pasa como parámetro.
16+
17+
function felicitar() {
18+
console.log("¡Felices fiestas!");
19+
}
20+
felicitar();
21+
22+
23+
// Función con un parámetro;
24+
function morning (nombre) {
25+
console.log("¡Buenos días, "+nombre+ "!");
26+
}
27+
morning("Raúl");
28+
29+
30+
// Función add tiene dos parámetros (a, b).
31+
// Los argumentos (2, 3) se asignan a los parámetros a y b.
32+
function add (a, b) {
33+
return a + b;
34+
}
35+
console.log(add(2,3));
36+
37+
//Función dentro de función
38+
function calcularAreaTriangulo(base, altura) {
39+
function calcularArea() {
40+
return 0.5 * base * altura;
41+
}
42+
43+
return calcularArea();
44+
}
45+
46+
// Usando la función
47+
let area = calcularAreaTriangulo(5, 3);
48+
console.log("El área del triángulo es:", area);
49+
50+
51+
// Ejemplos de funciones ya creadas en el lenguaje:
52+
console.log("Funciones creadas en javascript");
53+
54+
// Función isFinite() determina si el valor pasado es un número finito.
55+
// Si el valor no es un número, primero intenta convertirlo a uno.
56+
// Si es un número finito, devuelve true; en caso contrario, devuelve false.
57+
console.log(isFinite(10)); // true (10 es un número finito)
58+
console.log(isFinite(-5.5)); // true (-5.5 es finito)
59+
console.log(isFinite(Infinity)); // false (Infinity no es finito)
60+
console.log(isFinite(NaN)); // false (NaN no es un número finito)
61+
console.log(isFinite("10")); // true (El string "10" se convierte a número)
62+
console.log(isFinite("Hello")); // false (No puede convertirse en número)
63+
console.log(isFinite(undefined));// false (No puede convertirse en número)
64+
65+
//Función isNaN() determina si el valor pasado es NaN (Not-a-Number).
66+
// Si el valor no es un número, intenta convertirlo.
67+
// Si después de la conversión sigue siendo NaN, devuelve true; de lo contrario, devuelve false.
68+
console.log(isNaN(NaN)); // true (El valor es NaN)
69+
console.log(isNaN("Hello")); // true (No puede convertirse a número)
70+
console.log(isNaN(undefined)); // true (No puede convertirse a número)
71+
console.log(isNaN(10)); // false (10 es un número válido)
72+
console.log(isNaN("10")); // false (El string "10" se convierte a número)
73+
console.log(isNaN(true)); // false (true se convierte a 1, que es un número)
74+
75+
// Función Number.isNaN() es más estricto y devuelve true sólo si el valor es exactamente NaN, sin coerción.
76+
console.log(Number.isNaN("Hello")); // false (Strict check: "Hello" is not NaN, it's a string)
77+
78+
//Función parseInt() convierte una cadena de texto en un número entero.
79+
// Si la cadena no contiene un número, devuelve el valor de defaultValue.
80+
// Si la cadena contiene un número, devuelve el número. Si la cadena no puede ser convertida a número, devuelve NaN.
81+
console.log(parseInt("10")); // 10
82+
console.log(parseInt("Hello")); // 0
83+
console.log(parseInt("10", 16)); // 16
84+
console.log(parseInt("10", 10)); // 10
85+
console.log(parseInt("0x10", 16)); // 16
86+
console.log(parseInt("010", 2)); // 2
87+
88+
89+
//Variable local, declarada en la función y variable global o declarada fuera de la función.
90+
91+
function globalVariable() {
92+
var globalVariable = "globalVariable";
93+
function localVariable() {
94+
var localVariable = "localVariable";
95+
console.log(globalVariable); // globalVariable
96+
console.log(localVariable); // localVariable
97+
}
98+
localVariable();
99+
}
100+
globalVariable();
101+
102+
103+
// Global variables
104+
var street = "Calle Mayor";
105+
var city = "Madrid";
106+
107+
function myGlobalAddress() {
108+
109+
// Local variables
110+
var country = "España";
111+
var building = "III";
112+
113+
return building + " " + street + ", " + city + ", " + country;
114+
}
115+
116+
console.log(myGlobalAddress()); // invocamos desde fuera de la función
117+
118+
function myLocalDetails() {
119+
var floor = "3rd-floor";
120+
var flat = "1B";
121+
var door = "left";
122+
console.log( floor + " " + flat + " " + door ); // invocamos desde dentro de la función
123+
}
124+
125+
myLocalDetails(); // podemos invocar myLocalDetails desde fuera, pero no podemos acceder a las variables dentro de la función.
126+
// Las variables son locales de esa función.
127+
128+
129+
/*DIFICULTAD EXTRA (opcional):
130+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
131+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
132+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
133+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
134+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
135+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
136+
*/
137+
function myString (multiploDe3, multiploDe5) {
138+
let count = 0;
139+
let i = 1;
140+
141+
while (i <= 100) {
142+
if (i % 3 === 0 && i % 5 === 0) {
143+
console.log(multiploDe3 + " y " + multiploDe5);
144+
count++;
145+
} else if (i % 3 === 0) {
146+
console.log(multiploDe3);
147+
count++;
148+
} else if (i % 5 === 0) {
149+
console.log(multiploDe5);
150+
count++;
151+
} else {
152+
console.log(i);
153+
}
154+
i++;
155+
}
156+
return count;
157+
}
158+
159+
console.log(myString("Multiplo de 3", "Multiplo de 5"));

0 commit comments

Comments
 (0)