|
| 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