Introducción a JavaScript

1

¿Por qué aprender JavaScript?

2

¡Hola Mundo! en Mac

3

¡Hola Mundo! en Windows

4

Anatomía de una variable

5

Tipos de datos en JavaScript

6

Creación de strings

7

Operadores aritméticos

8

Conversión de tipos: Type Casting y Coerción

9

Conversión de tipos explícita e implícita

Estructuras de Control y Lógica

10

Operadores de comparación

11

Operadores lógicos

12

Ejecución condicional: if

13

Ejercicio: Adivina el número

14

Ejecución condicional: switch

15

Loop: for

16

Loop: for of

17

Loop: for in

18

Loop: while

19

Loop: do while

Funciones y This

20

Anatomía de una función

21

Funciones vs Métodos

22

Funciones puras e impuras

23

Arrow function y enlace léxico

24

Contextos de ejecución y scope chain

25

¿Qué es Closure?

26

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?

Manipulación de Arrays

27

Introducción a Arrays

28

Mutabilidad e inmutabilidad de Arrays

29

Modificación básica del final con push( ), pop( )

30

Iteración con map( ) y forEach( )

31

Filtrado y reducción con filter( ) y reduce( )

32

Búsqueda de elementos con find( ) y findIndex( )

33

Crear copias con slice( )

34

Spread operator: casos de uso

Programación Orientada a Objetos

35

Anatomía de un Objeto

36

Trabajando con objetos en JavaScript

37

Función constructora

38

¿Qué es una clase?

39

Prototipos y herencias

40

Herencia en la práctica

41

Prototipos en la práctica

42

this en JavaScript

43

Proyecto: Crea una red social

44

Proyecto: Crea una red social parte 2

Asincronía en JavaScript

45

¿Cómo funciona el JavaScript Engine?

46

Promesas en JavaScript

47

Usando Async y await en JavaScript

48

For await of

49

¿Cómo funciona la web?

50

¿Cómo funciona HTTP?

51

Método GET en JavaScript

52

Método POST en JavaScript

53

Método DELETE en JavaScript

54

Importancia del id en el método DELETE

55

ECMAScript 6 y tus siguientes pasos

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

2 Días
8 Hrs
27 Min
4 Seg

Anatomía de una función

20/55
Resources

What is a function in JavaScript?

Functions in JavaScript are reusable blocks of code that allow you to perform specific tasks over and over again. Think of them like Lego pieces: you can use them to create multiple objects with the same pieces. They are a powerful tool that, once defined, can be used repeatedly with different data sets, just as you would use a calculation over and over again during a Black Friday event to automatically apply discounts to clothing prices. Thanks to functions, we avoid duplicating code, save time and minimize errors.

How is a function structured?

A function in JavaScript has a clear structure, known as its "anatomy". Each part plays a crucial role in its operation:

  1. Function definition:

    • It starts with the function keyword.
    • It is followed by the function name, which must be in camelCase (the first lowercase letter and subsequent word initials in uppercase).
  2. Parameters:

    • Parameters are variables that the function uses internally to process data. They are optional and allow the function to be more flexible.
  3. Function body:

    • It is enclosed in braces {}.
    • It is where the code that the function will execute is written. It can include a return to return a value at the end of execution, although this is also optional.
  4. Function call:

    • To execute a function, you use its name followed by parentheses that optionally contain arguments; these are the actual values that replace the parameters.

How to create functions to calculate discounts?

Let's see the step-by-step creation of a function that calculates the price after applying a discount, something useful for events like Black Friday.

function calculateDiscountedPrice(price, discountPercentage) { const discount = (price * discountPercentage) / 100; const priceWithDiscount = price - discount; return priceWithDiscount;}

How do you use this function?

  1. Define Variables:

    • First, define variables for the original price and the discount percentage.
    const originalPrice = 100; // Price of the garmentconst discountPercentage = 20; // Discount of 20%.
  2. Calculate the Final Price:

    • Use the function with these values to get the discounted price.
    const finalPrice = calculateDiscountedPrice(originalPrice, discountPercentage);
  3. Result Output:

    • You can use a console.log to display the results in console.
    console.log("Original Price: " + originalPrice);console.log("Discount: " + discountPercentage + "%");console.log("Discounted Price: " + finalPrice);

When you run this program, you will see in the console how much you should pay based on the specified discount. And best of all: you can change the input values and calculate prices for different items in a matter of milliseconds.

Why is this approach useful?

Creating functions like calculateDiscountedPrice allows you to have clear, understandable, and flexible code that adapts to different situations with ease. This technique is especially valuable in software development, where code efficiency and reusability are essential. In addition, by generating more generic code, such as discount pricing, you can customize the same function for multiple needs with simple parameter changes.

So keep practicing and experimenting with functions! Over time, you will create more sophisticated and reliable applications - the sky's the limit!

Contributions 40

Questions 1

Sort by:

Want to see more contributions, questions and answers from the community?

Una función es un conjunto de instrucciones tareas que realiza una tarea o asigna un valor, también se puede definir como un conjunto de instrucciones que realiza una tarea o calcula un valor Una **definición de función** (también denominada **declaración de función** o **expresión de función**) consta de la palabra clave `function`, seguida de: * El nombre de la función. * Una lista de parámetros de la función, entre paréntesis y separados por comas. * Las declaraciones de JavaScript que definen la función, encerradas entre llaves, `{ ... }`. ```js function calculateDiscountedPrice (price, discountPercentage){ //Se declaran las operaciones const discount = (price * discountPercentage) / 100; const priceWithDiscount = price - discount; return priceWithDiscount; } // Se asigna un valor const originalPrice = 100; const discountPercentage = 20; const finalPrice = calculateDiscountedPrice(originalPrice,discountPercentage); // Se mandan a imprimir los valores console.log (`Precio original de la prenda: ${originalPrice}`); console.log(`Descuento de la prenda: ${discountPercentage} `); console.log(`Precio en rebaja: ${finalPrice}`); ``` ![](https://static.platzi.com/media/user_upload/Untitled-e294522f-fe60-4562-8ea3-23761797ac17.jpg)
![](https://static.platzi.com/media/user_upload/image-c0bb62e5-a14f-439f-99df-b55b41a7d238.jpg) en la función que realizamos en clase, lo único que modifique para que el precio y el descuento fuera dinámico, fue pedir el precio original y el descuento con un prompt.
Mi ejercicio practico fue ligeramente diferente ![]()![](https://static.platzi.com/media/user_upload/image-afe32d0d-319b-4438-9958-4045cf11e06c.jpg)
**NOTAS:** (O apuntes qsy lo mismo) ![](https://static.platzi.com/media/user_upload/image-56b416d8-827e-4bd1-809d-9df66780349e.jpg) ![](https://static.platzi.com/media/user_upload/image-bd4740e3-e2d8-4417-a857-3e59030c53f3.jpg)
functions
```js function calculateDiscounted(Price, Discount) { return Discount * Price / 100 } price = prompt('Ingrese el precio de su producto') discount = prompt('Ingrese el descuento del prodcuto') console.log(getNewProduct(price, discount)) ```function calculateDiscounted(Price, Discount) {    return Discount \* Price / 100} price = prompt('Ingrese el precio de su producto')discount = prompt('Ingrese el descuento del prodcuto')console.log(getNewProduct(price, discount))
👉Se nota mucho el cambio con respecto al anterior (profeTypo), Estefany explica con mas detalle y lo mas importante, no se equivoca al escribir. 🙄
[Javascript Function and Function Expressions](https://www.programiz.com/javascript/function)
Los parámetros son variables que se definen en la declaración de una función, mientras que los argumentos son los valores que se pasan a la función cuando se llama. Por ejemplo, en la función `calculateDiscountedPrice(price, discount)`, `price` y `discount` son parámetros, y cuando llamas a la función con `calculateDiscountedPrice(100, 20)`, los valores `100` y `20` son los argumentos. Esta distinción es fundamental para entender cómo funcionan las funciones en JavaScript.
Recuerdan que los métodos son funciones adentro de un objeto?, bueno, resulta que el método prompt, alert o confirm son funciones que se encuentran dentro del objeto global window de los navegadores web, y entornos como Node.js no lo tienen disponible sin la instalación de una librería.
Algo más corto ``function calculateDiscountedPrice (price, discountPercentage){ return price*((100-discountPercentage)/100)}console.log(`el valor Total es de ${calculateDiscountedPrice(100,20)} pesos`)``
¡Interesante analogía!
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-03-30%20163333-691a95d3-2f09-4f45-9ca7-1fdf6640a903.jpg)
Existen otras formas de declarar funciones: ```js // Arrow Function const calculateDiscuount = (price, discount) => price * (1 - discount); console.log(calculateDiscuount(100, 0.2)); ```Y ```js // Default Parameters function sum(a = 1, b = 2) { return a + b; } console.log(sum()); ```
Mi solución agregando un ciclo while con el fin de hacer una lista de compras: ```js const calculateDiscountPrice = (price, discount) => { discount = (price * (discount * 0.1)) + price return discount } const shopping = () => { // let total let discount = 20 let ask = 1 let products = [] while(ask === 1) { ask = parseInt(prompt("¿Quieres comprar o seguir comprando? (envia 1 para si)")) if(ask === 1) { let ask2 = parseInt(prompt("Elige lo que te vas a llevar: 1 - para camisa, 2 - para pantalon, 3 - para gorra")) switch(ask2) { case 1: products.push({ product: 'camisa', price: calculateDiscountPrice(30000, discount) }); break; case 2: products.push({ product: 'pantalon', price: calculateDiscountPrice(40000, discount) }); break; case 3: products.push({ product: 'gorra', price: calculateDiscountPrice(15000, discount) }); break; default: alert("Opción no válida."); break; } } else { alert("Gracias por confiar en nosotros.") if(products.length > 0) { let total = 0 console.log("Tus compras fueron las siguientes") for(shipping of products) { console.log(`${shipping.product} por ${shipping.price}`) total = total + shipping.price } console.log(`Compraste ${products.length} productos para un total de $` + total + "COP") } } } } shopping() ```const calculateDiscountPrice = (price, discount) => {    discount = (price \* (discount \* 0.1)) + price    return discount } const shopping = () => {    // let total     let discount = 20    let ask = 1    let products = \[]        while(ask === 1) {        ask = parseInt(prompt("¿Quieres comprar o seguir comprando? (envia 1 para si)"))        if(ask === 1) {            let ask2 = parseInt(prompt("Elige lo que te vas a llevar: 1 - para camisa, 2 - para pantalon, 3 - para gorra"))            switch(ask2) {                case 1:                    products.push({ product: 'camisa', price: calculateDiscountPrice(30000, discount) });                    break;                case 2:                    products.push({ product: 'pantalon', price: calculateDiscountPrice(40000, discount) });                    break;                case 3:                    products.push({ product: 'gorra', price: calculateDiscountPrice(15000, discount) });                    break;                default:                    alert("Opción no válida.");                    break;            }        } else {            alert("Gracias por confiar en nosotros.")            if(products.length > 0) {                let total = 0                console.log("Tus compras fueron las siguientes")                for(shipping of products) {                    console.log(`${shipping.product} por ${shipping.price}`)                    total = total + shipping.price                }                        console.log(`Compraste ${products.length} productos para un total de $` + total + "COP")            }        }     }} shopping()
Cambie un poco mi codigo y quedo asi ![]()```js function calculoDescuentoDelPrecio (precio, descuentoEnPorcentaje){ const descuento = (precio * descuentoEnPorcentaje) / 100 const precioConDescuento = precio - descuento return precioConDescuento } const precioOriginal = 1500; const descuentoEnPorcentaje = 21; const precioFinal = calculoDescuentoDelPrecio (precioOriginal, descuentoEnPorcentaje); console.log('Precio Original: $' + precioOriginal); console.log('Descuento: ' + descuentoEnPorcentaje + '%'); console.log('Precio con descuento: $' + precioFinal); ```
![](https://static.platzi.com/media/user_upload/image-487c4d13-fb5a-4d68-b5ee-8c1c6ea3f4db.jpg) Mi codigo! /\* supongamos que es black friday, nos dan el valor de la prenda, y el porcentaje de descuento \*/ function descuento(precio, porcentaje){ let valorFinal=(precio-(precio\*(porcentaje/100))); return valorFinal; } console.log("bienvenido a la tienda de ropa"); let prenda; let porcentaje; let contunuar; let valortotal=0; do{ prenda =prompt("Que precio tiene la prenda "); porcentaje = prompt("de cuanto % es el descuento"); console.log("la prenda te sale en: ",descuento(prenda, porcentaje)); valortotal=valortotal+descuento(prenda, porcentaje) continuar=prompt("Desea agregar otra prenda? escriba si en comillas para continuar"); }while(continuar !== "si"); console.log("El valor total a gastar es de: ",valortotal)
![](https://static.platzi.com/media/user_upload/image-d85cfe5c-ee26-448c-bf4b-3f39da77935e.jpg)
En JavaScript, `const` se utiliza para declarar variables que no deben ser reasignadas después de su inicialización. Esto es útil para mantener la integridad de los datos, especialmente en estructuras como funciones y objetos, donde la inmutabilidad puede evitar errores. Por otro lado, `let` permite la reasignación y es más flexible, pero puede conllevar a errores si se modifica accidentalmente una variable que debería permanecer constante. Usar `const` ayuda a escribir un código más predecible y seguro.
function descuento (*valorPrenda*, *porcentajeDescuento*){ const descuento = (valorPrenda \* porcentajeDescuento)/100; const precioaPagar = valorPrenda - descuento; return precioaPagar; } console.log(descuento(100, 20)); //80
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-01-16%20184900-981cdc01-2d24-4e4e-8aa8-c36c5111f75d.jpg) Yo hice casi todo igual a excepción de que puse prompts para hacerlo un poco mas interactivo y en vez de poner "console.log" puse un "alert" para ver mas cómodamente lo que pasaba en pantalla.
```js function calculateDiscountedPrice (price, discountPercentage){ const priceWithDiscount = price * (100-discountPercentage) * 0.01 return priceWithDiscount } const originalPrice = 100 const discountPercentage = 20 const finalPrice = calculateDiscountedPrice (originalPrice, discountPercentage) console.log('Original Price: $' + originalPrice) console.log('Discount: ' + discountPercentage + ' %') console.log('Price with discount $' + finalPrice) ```function calculateDiscountedPrice (price, discountPercentage){ const priceWithDiscount = price \* (100-discountPercentage) \* 0.01  return priceWithDiscount} const originalPrice = 100const discountPercentage = 20const finalPrice = calculateDiscountedPrice (originalPrice, discountPercentage) console.log('Original Price: $' + originalPrice)console.log('Discount: ' + discountPercentage + ' %')console.log('Price with discount $' + finalPrice)
```js function adivina () { const aleatorio = Math.floor(Math.random() * 10 + 1); let intentos = 3; for (let i = 0; i < intentos; i++) { let adivinar = parseInt(prompt("Adivina un numero del 1 al 10")); if (adivinar == aleatorio) { console.log("Felicitaciones, acertaste!"); return; } else { console.log("Que lastima, no acertaste"); } } console.log(`El numero correcto era: ${aleatorio}`); } adivina(); ```function adivina () {  const aleatorio = Math.floor(Math.random() \* 10 + 1);  let intentos = 3;   for (let i = 0; i < intentos; i++) {    let adivinar = parseInt(prompt("Adivina un numero del 1 al 10"));     if (adivinar == aleatorio) {      console.log("Felicitaciones, acertaste!");      return;    } else {      console.log("Que lastima, no acertaste");    }  }   console.log(`El numero correcto era: ${aleatorio}`);} adivina();
const productos = parseFloat(prompt("Por favor ingrese el valor del producto:")); function calcularPrecioFinal(precio) {    let precioFinal = precio;   if (precio > 25000) {    precioFinal = precio \* 0.8; // Descuento del 20%    console.log(`el descuento de la prenda es del 20%`);  } else if (precio > 15000) {    precioFinal = precio \* 0.9; // Descuento del 10%    console.log(`el descuento de la prenda es del 20%`);  } else if (precio > 5000) {    precioFinal = precio \* 0.95; // Descuento del 5%    console.log(`el descuento de la prenda es del 20%`); }   return precioFinal;} const precioFinal = calcularPrecioFinal(productos); console.log(`el precio original de la prenda es ${productos}`);console.log(`El precio final es: $${precioFinal.toFixed(2)}`);
function calculaDedescuento (precio,descuentoPorcentage){  const descuento = (precio  \* descuentoPorcentage) /100;  const precioconDescuento =  precio -  descuento;   return precioconDescuento; } const precioOrigina = 100;const descuento = 20;const finalprecio = calculaDedescuento(precioOrigina,descuento); console.log(` el precio original de la prenda   es ${precioOrigina} `);console.log(` el  descuento es ${descuento}%`);console.log(` el precio final es  ${finalprecio} `);
Dato curioso e información que cura: . **Nombres en inglés de las llaves que usamos en programación** para abrir y cerrar un bloque de código: {} : Braces (): Parenthesis \[]: Brackets
Curiosamente hoy que estoy viendo el curso es black friday jaja
las variables en javascript deben ser camelCase, descriptivos, intuitivos, y facil de entender para otros desarrolladores. ![](https://static.platzi.com/media/user_upload/variablesEjemplos-5eec4342-7fc9-4b07-822d-032b30df9a7f.jpg)![]()![]()
## Funciones en JavaScript * Las funciones en JavaScript son como piezas de Lego: se pueden reutilizar y combinar de muchas maneras para crear diferentes resultados. * Permiten escribir funcionalidades genéricas que se pueden usar repetidamente en distintos contextos. ## Ejemplo Real: Calculando Descuentos en Black Friday * Imagina que es Black Friday y quieres calcular el precio final de varias prendas de ropa con descuento. * Hacer estos cálculos manualmente sería tedioso y lento, especialmente con mucha gente comprando. * Usar una función para calcular el precio final con descuento puede ahorrar tiempo y esfuerzo. ### Inputs y Outputs en las Funciones * **Inputs**: Datos de entrada que la función necesita para operar, como el precio original y el porcentaje de descuento. * **Outputs**: El resultado final que la función devuelve, en este caso, el precio con descuento. ## Creación de Funciones en JavaScript * **Definición de una Función**: * Usamos la palabra clave `function` seguida del nombre de la función, parámetros entre paréntesis y el cuerpo de la función entre llaves. ### Anatomía de una Función 1. **Nombre de la Función**: * La palabra clave `function` seguida de un nombre descriptivo en camel case. 2. **Parámetros**: * Valores de entrada que la función utiliza, opcionales. 3. **Cuerpo de la Función**: * Contiene el código que define lo que la función hace, incluyendo opcionalmente un `return` para devolver un valor. 4. **Llamada a la Función**: * Ejecutar la función con sus argumentos, que son los valores reales que se pasan a los parámetros. ### Ejemplo: Función para Calcular Precio con Descuento 1. **Definir la Función**:function calculateDiscountedPrice(price, discountPercentage) { const discount = (price \* discountPercentage) / 100; const priceWithDiscount = price - discount; return priceWithDiscount; } 2. **Llamar a la Función**:const originalPrice = 100; const discountPercentage = 20; const finalPrice = calculateDiscountedPrice(originalPrice, discountPercentage); 3. **Mostrar Resultados**:console.log('Precio original:', originalPrice); console.log('Descuento:', discountPercentage + '%'); console.log('Precio con descuento:', finalPrice); ### Código Completo y Ejecución * **Función para Calcular Precio con Descuento**:function calculateDiscountedPrice(price, discountPercentage) { const discount = (price \* discountPercentage) / 100; const priceWithDiscount = price - discount; return priceWithDiscount; } * **Ejemplo de Uso**:const originalPrice = 100; const discountPercentage = 20; const finalPrice = calculateDiscountedPrice(originalPrice, discountPercentage); console.log('Precio original:', originalPrice); console.log('Descuento:', discountPercentage + '%'); console.log('Precio con descuento:', finalPrice); * **Ejecutar y Verificar Resultados**:console.log('Precio original:', 100); console.log('Descuento:', '20%'); console.log('Precio con descuento:', 80); ## Próximos Pasos * Practicar creando y utilizando funciones con diferentes tipos de entradas y salidas. * Implementar funciones en proyectos reales para automatizar tareas repetitivas. * Explorar más sobre buenas prácticas y optimización en la escritura de funciones en JavaScript.
Una función tiene caráteristicas importantes. Su código debe ser ordenado, no ambiguo, con instrucciones finitas y claras. El código se ejecuta de manera secuencial de arriba hacia abajo.
porque multiplicar y dividir para obtener el porcentage si ya lo damos no es mejor restar el porcentaje y el precio
mejorando la funcion: ```js let precio = parseInt(prompt("Ingrese el precio del producto")).toFixed(2); let descuento = parseInt(prompt("Ingresa el desceunto del producto")).toFixed( 2 ); // Función para calcular el descuento y mostrar el resultado final del precio con descuento. function calcularDescuento(precio, descuento) { let discount = (descuento / 100) * precio; let precioFinal = precio - discount; console.log(`El precio original es de: $${precio} y el descuento aplicado es de: ${descuento}%, estas ahorrando: $${discount.toFixed(2)}, El precio final con descuento es: $${precioFinal} `); } calcularDescuento(precio, descuento); ```
Mi ejemplo de una funcion para calcular el descuento de un producto: ```js function calcularDescuento(precio, descuento) { let discount = (descuento / 100) * precio; let precioFinal = precio - discount; console.log(`El precio original es de: $${precio} y el descuento aplicado es de: ${descuento}%, estas ahorrando: $${discount}, El precio final con descuento es: $${precioFinal} `); } calcularDescuento(400, 20); ```
Una **función** en JavaScript es un bloque de código que realiza una tarea específica o calcula un valor. Las funciones pueden tomar entradas llamadas **parámetros** y devolver una salida. Se invocan (o llaman) cuando es necesario en el programa, lo que permite reutilizar el código de forma modular y eficiente.
![](https://static.platzi.com/media/user_upload/image-fe1ff80d-7a98-4499-b30c-e753345af856.jpg)
En las líneas 1-3 se menciona price, pero a partir de la linea 8 se menciona originalPrice. será que la linea num 10 al pasar la function a const se le están asignando nuevos valores según la linea 10? ![]() ![](https://static.platzi.com/media/user_upload/image-dd731f4f-b88f-4ad6-880b-2f152d86bbf8.jpg)
Mi ejemplo de Anatomía de la función ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-08-22%20a%20la%28s%29%2019.07.15-5e187a01-c67b-4c01-a250-d2009e31cb78.jpg)
![](https://static.platzi.com/media/user_upload/image-6b553c64-8779-4846-92c4-93c255827ba0.jpg)
```js function CalculateDiscountedPrice(price,discountedPercentage) { const discount = (price * discountedPercentage) / 100; const pricewithdiscount = price - discount; return pricewithdiscount; } const OriginalPrice = parseInt(prompt("Ingresa El Precio Del Articulo")) ; const PercentegeDiscount = parseInt(prompt("Ingresa El Descuento")); const FinalPrice = CalculateDiscountedPrice(OriginalPrice,PercentegeDiscount); alert( "Este Es El Precio De Articulo $ " + OriginalPrice + "\nEste Es El Descuento Aplicado " + PercentegeDiscount + " %" + "\nEste Es El Precio A Pagar : $ " + FinalPrice) ```
Una función en JavaScript es como una receta de cocina. Cuando sigues una receta, haces una serie de pasos para preparar algo delicioso, como un pastel. En JavaScript, una función es como esa receta. Le dices a la computadora qué hacer, y luego puedes usar esa receta siempre que la necesites. Aquí te explico cómo funciona: 1. **Definir la receta**: Primero, tienes que decirle a la computadora cómo hacer algo. Eso es como escribir la receta. En JavaScript, lo haces con una función. Por ejemplo:javascriptCopiar código`function saludar(nombre`) { ` console.log("¡Hola, " + nombre + "!"`); } Aquí, `saludar` es el nombre de la función, y `nombre` es el ingrediente que necesitas (en este caso, el nombre de la persona a quien quieres saludar). 2. **Seguir la receta**: Cuando quieras usar la receta, solo tienes que seguirla. En JavaScript, eso se hace "llamando" a la función con los ingredientes. Por ejemplo:javascriptCopiar código`saludar("Juan"`); Cuando haces esto, la computadora sigue los pasos de la función `saludar` y te muestra: `¡Hola, Juan!` Entonces, en resumen: * **La función** es como la receta. * **Los ingredientes** son los datos que le das a la función (como el nombre en el ejemplo). * **Seguir la receta** es ejecutar la función para hacer algo, como mostrar un saludo.