No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
11H
12M
48S
Curso Pr谩ctico de JavaScript

Curso Pr谩ctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Funciones

4/29
Recursos

Aportes 127

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Funci贸n, par谩metros y argumentos.

Espero que sirva

Como se hace para tener la energ铆a de JuanDC todo el tiempo jajajajja

La pregunta es 驴Qu茅 es una funci贸n? lo que Juan responde es 驴Para que sirve una funci贸n? entonces 驴Qu茅 es realmente una funci贸n?

Una funci贸n en JavaScript es similar a un procedimiento 鈥 un conjunto de instrucciones que realiza una tarea o calcula un valor, pero para que un procedimiento califique como funci贸n, debe tomar alguna entrada y devolver una salida donde hay alguna relaci贸n obvia entre la entrada y la salida

Me causa conflicto el t茅rmino "variable constante".
  • Corchete [ ]
  • Llaves { }
  • Par茅ntesis ( )

Funciones

1锔.Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es una funci贸n?

  • Las funciones nos permiten guardar bloques de c贸digo para reutilizarlos y ejecutarlos en el futuro.

驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

  • Nos sirve cuando tenemos variables o bloques de c贸digo muy parecidos (con cambios que podr铆an ser par谩metros y argumentos) que podemos encapsular para reutilizar m谩s de una vez en el futuro. Tambi茅n nos sirve para ordenar y mejorar la legibilidad de nuestro c贸digo.

驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

  • Las funciones reciben par谩metros cuando las creamos. Y les enviamos argumentos cuando las ejecutamos.

2锔.Convierte el siguiente c贸digo en una funci贸n, pero cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "George";
const lastname = "Gutierrez";
const completeName = name + lastname;
const nickname = "georgegg";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

function nombreCompleto(name, lastName) {
    return name + ' ' + lastName
}

function saludo(name, lastname, username) {
    const completeName = nombreCompleto(name, lastname);

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + username + ".");  
}

Par谩metros y Argumentos
Par谩metros:
Son los nombres que se les da o que se espera recibir en la funci贸n, para que una funci贸n cumpla con su tarea, es decir, son los nombres que aparecen en la definici贸n de una funci贸n.
.
Argumentos:
Son los valores, los cuales van a servir para representar a esos par谩metros que recibe nuestra funci贸n, es decir, son los valores que le vamos a pasar a una funci贸n.

Todavia me confundo con cuales son los argumentos y cuales son los parametros. Buena explicacion del profe Juan!

Para evitar confusiones, es com煤n ver a un par谩metro como una variable y un argumento como un valor.

Clarita la diferencia entre parametros y argumentos, la he leido mil veces pero nunca me la acuerdo

Super importante identificar los 鈥Argumentos鈥 y 鈥Par谩metros鈥 el simple hecho de conocer y saber que son y que hace cada uno de estos conceptos.

yo viendo este curso en velocidad 2.0 jajajajajaj, Juan parece loco , le dan ataques jajajaja

yo realice el ejercicio con funciones, y lo realice con callback(funciones que llaman a otras funciones) para repasar

 let names = "Carlos";
  let lastnames = "Rocha";
  let userName = "charlie";
  let age = 27;
  let email = "[email protected]";
  let greaterAge = true;
  let moneySaved = 100000;
  let debts = 50000;

  function fullname (name, lastName){
    console.log(`mi nombre es: ${name} ${lastName}`);
  }

  function realMoney (saving, debts){
    const realMoney = saving - debts;
    console.log(`mi dinero actual sin deudas es: ${realMoney}`);
  }

  function personalData(name, lastName, saving, debts, callbackName, callbackMoney){
    let namePerson = name;
    let lastNamePerson = lastName;
    let savingMoneyPerson = saving; 
    let debtsPerson = debts;
    
    callbackName(namePerson, lastNamePerson);
    callbackMoney (savingMoneyPerson, debtsPerson);
  }

  personalData(names, lastnames, moneySaved, debts, fullname, realMoney);

-Que es una funcion?
Las funciones nos permite encapsular bloques de codigo para reutilizarlos y ejecutarlos en el futuro.
-Cuando me sirve usar una funcion en mi codigo?
Nos sirve cuando tenemos variables o bloques de codigo muy parecidos (con cambios que podrian ser parametros y argumentos) que podemos encapsular para reutilizar mas de una vez en el futuro.
-Cual es la diferencia entre parametros y argumentos de una funcion?
Las funciones reciben par谩metros cuando las creamos y les enviamos argumentos cuando las ejecutamos.

鈥渓as funciones son la forma en la que encapsulamos bloques de c贸digo para que sean reutilizables y ejecutables en el futuro鈥

definitivamente es buena forma de definirlo

Otra manera de entender las funciones es que son un conjunto de tareas que vamos a realizar con datos ya declarados antes en variables para poder generar una acci贸n que nos regrese algo completamente diferente. Cada instrucci贸n que lleve la funci贸n, debe terminar con un punto y coma 鈥;鈥. Esto es solo para cuando le agregamos m谩s de una instrucci贸n a nuestra funci贸n.
Por ejemplo:

function sumar(a, b) {
	let resultado = a + b;
	return resultado;
};

Y si llamamos nuestra funci贸n con:

sumar (1, 2)

simplemente nos regresa 3.
Espero sea de ayuda.

por si en este punto se alguno se siente frustrado por no entender el conteindo de la clase o del curso que sea, le cuento que yo tuve que volver aqui despues de llevar m谩s de 40 cursos de javascript y desarrollo web en general. tambi茅n siento que no puedo hacer las cosas por m铆 mismo sin mirar lo que hacer el profe, o que no puedo resolver un reto sin ver la soluci贸n.
es normal, hay que repetir y repetir lo aprendido, y como dijo el profe Diego De Granda en su curso de Web Components 鈥渟i lo que acabas de hacer te parece magia, es porque no sabes al 100% lo que est谩s haciendo鈥. caminar nos tom贸 a帽os, aprender a leer a煤n m谩s, programar se trata de aprender 3 idiomas (o m谩s) a la vez y eso no se aprender en un d铆a, ni un mes, tal vez ni en un a帽o. estudiamos 12 a帽os en el colegio y no sabemos sacar el minimo com煤n m煤ltiplo jajaja no se rindan por favor, alg煤n d铆a nos llamaremos colegas.
suerte compa帽eros!!!

Como recordar cuando es Parametros y cuando Argumentos:
Las variables que colocas al crear la funcion son PARA usarlas, PARAmetros

Cuando estas en una discusion das argumentos para defenter tu idea, asi mismo cuando llamas a la funcion, le pasas argumentos para ejecutar(defender) tu idea

`${name}  ${lastName}`

Esta en una sintaxis m谩s flexible para concatenar strings, incluso respeta los saltos de l铆nea. Lo anterior hace lo mismo que lo siguiente

name + ' ' + lastName

Parametros vs. Argumentos鈥or fin lo entend铆! 馃ゲ

Solo porque a m铆 me pareci贸 muy 煤til cuando estaba empezando y creo que no es tan complejo de entender, para la concatenaci贸n de texto y string, recomiendo utilizar 鈥渓as comillas invertidas鈥 (o templates)

B谩sicamente es abrir comillas invertidas (Alt + 96) y la variable que desees concatenar la debes de encerrar as铆: ${} en mitad de las llaves pones el nombre de la variable.

buena clase me gusto:D

en funciones yo dije que una funci贸n es parte de la POO, ya que encapsula porciones de codigo para utilizarlas, cuando nuestro codigo es muy largo, exelente, pero no sab铆a muy bien sobre los parametros y argumentos, gracias por aclarar mis dudas

Solo tuve algunas diferencias m铆nimas en la forma en que convert铆 la funci贸n del saludo, pero obtuve el mismo resultado.

Este curso no es tan pr谩ctico y se pone pesado con todo lo que habla Juan David. Realmente es muy aburrido. 驴D贸nde est谩 la practica?

鉁煢

**De momento he ejecutado mis respuestas muy similares a las de Juan c: **

Las clases con JuanDC siempre pasan rapidisimo, eso solo es evidencia de lo buenas que son 馃槂

en simple explicacion que hace return

Los parametros son lo que reciben una funcion cuando declaramos (crear) la funcion.
Sintaxis: function nombreFuncion (parametro1 , parametro2) { 鈥 }

Ej. function nombreCompleto (name , lastName) {
return name + 鈥 鈥 + lastName;
}

Cuando se ejecuta la funcion, se env铆an argumentos:
Sintaxis: nombreFuncion (argumento1 , argumento2)

Ej. nombreCompleto (鈥楯enni鈥 , 鈥楢rabel鈥)

Las funciones son como 馃洜锔 herramientas 馃洜锔 en nuestra caja de herramientas de programaci贸n 馃О. Nos permiten reutilizar c贸digo y hacer que nuestro c贸digo sea m谩s f谩cil de leer y mantener 馃摉.

Puedes pensar en una funci贸n como un 馃崝 combo de hamburguesa 馃崝. La funci贸n es la receta y los ingredientes son los par谩metros que le pasamos a la funci贸n. Cuando llamamos a la funci贸n con ciertos argumentos, obtenemos el resultado final (隆o la hamburguesa terminada! 馃崝馃い)

esta buena la clase el profe lo explica bien

Yo la expliqu茅 as铆

Una funci贸n es una sentencia de c贸digo que permite ejecutar una l贸gica de c贸digo varias veces sin tener que reescribir ese c贸digo

function quienEres(name, lastname, nickname){
	let completeName = (name + " " + lastname);
	return "Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".";
}

quienEres("Satoshi", "Nakamoto", "BTC");

Solo dir茅 que una variable no puede ser constante. Entonces esta mal decir 鈥渧ariable constante鈥, una variable es esa representaci贸n del espacio en memoria que puede variar, y una constante es ese espacio que nunca va a poder cambiar, siempre ser谩 constante.

Es **incorrecto **decir "variable constante"
Ya que son conceptos opuestos. Una variable es un valor que puede cambiar durante la ejecuci贸n de un programa, mientras que una constante es un valor que se define una vez y no cambia durante la ejecuci贸n del programa.

{ } = llaves
[ ] = corchetes

馃槂 Funciones
1.- Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es una funci贸n?
Conjunto de instrucciones que realiza una tarea o calcula un valor.
驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?
Cuando quiero empaquetar una serie de variables e instrucciones que realizan una tarea espec铆fica, con la finalidad de manipular y reutilizar el c贸digo f谩cilmente.
驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?
Un par谩metro representa un valor esperado al momento de definir la funci贸n, mientras que un argumento representa un valor enviado al momento de llamar a la funci贸n.

2.- Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Luigi";
const lastname = "del Carpio";
const completeName = name + lastname;
const nickname = "luigidelcarpio";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

// ---------- Soluci贸n ----------
function miFuncion(name, lastName, nickName){
	return `Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.`;
}
console.log(miFuncion('Luigi', 'del Carpio', 'luigidelcarpio'));

jajaj me encanto la referencia a rubber duck debugging

Odio la nueva intro de platzi xd

Para responder m谩s en concreto la pregunta de qu茅 es una funci贸n y no qu茅 nos permite una funci贸n. Lo respondo as铆:

鈥 驴Qu茅 es una funci贸n?
Una funci贸n es una tarea que asignamos en nuestro c贸digo para que sea interpretado por nuestro sistema o navegador, y posteriormente sea ejecutado, creandose as铆 un programa.

Indicame si est谩s de acuerdo o si no tambi茅n, para que podamos mejorar nuestros conceptos.

Importante aprender a diferenciar los par谩metros y argumentos.

Ustede tambien se dieron cuenta que Juan nombre a Juanita?
Sera la misma del curso de git y gitHub ?

Lo de la generacion de bloques de codigo es mejor atraves de lenguaje R, ya que de ahi sale Rmd (R Markdown)

Una funci贸n en JavaScript es un bloque de c贸digo que realiza una tarea espec铆fica y puede ser reutilizado varias veces en un programa. Es como una 鈥渞eceta鈥 que toma uno o varios valores de entrada (llamados par谩metros) y devuelve un valor de salida. El objetivo de usar funciones es organizar el c贸digo y hacerlo m谩s f谩cil de entender y mantener.

Una de las formas que mas me ayudaron al inicio cuando vi y aprend铆 por primera vez las Funciones o m茅todos que se suelen llamar de igual forma (m谩s adelante lo entender谩n) 鈥

Es hacer la analog铆a con una fabrica y mas especifico con una maquina dentro de una fabrica. Las m谩quinas reciben algo que puede ser la materia prima, eso que reciben es su entrada y la m谩quina esta programada para hacer ciertas tareas con eso que recibe como entrada, puede hacer cortes, manipulaciones, lo que sea necesario para que al final nos devuelva algo, por ejemplo nos puede devolver una camisa.

Entonces las funciones b谩sicamente son como fabricas, tienen par谩metros que van a recibir, con esos par谩metros har谩n ciertas operaciones o c谩lculos y al final nos retornaran (devolver谩n) algo.

El hecho de que sean reutilizables es que esas maquinas (funciones) pueden usarse las veces que sean necesarias enviandole 煤nicamente como argumento los par谩metros con los que van a trabajar, volviendo al ejemplo, podr铆amos usar la maquina para fabricar 100 camisas en un d铆a. Igual las funciones podemos invocarlas o mandarlas llamar 100 veces si es necesario, con esto escribimos el bloque de c贸digo (funci贸n) una 煤nica vez y la llamamos las veces que sean necesarias.

() = parentesis/parentheses
[] = corchetes/brackets
{} = llaves/keys

yo tambien me confundo a veces xD

yo en lugar de haber concatenado complete name en el texto hubiera escrito :

鈥淢i nombre es 鈥+ nombreCompleto(name,lastname) +鈥,pero prefiero que me digas 鈥+ username +鈥.鈥

Creo que 鈥渇ull name鈥 ser铆a un t茅rmino m谩s adecuado en lugar de 鈥渃omplete name鈥

function saludo(completeName, nickname){
return ("Mi nombre es " + completeName + ", pero prefiero que me digas " 
+ nickname + ".")
};

Funci贸n saludo con TypeScript:

const fullName = (nombres:string, apellidos: string):string => {
    return `${nombres} ${apellidos}`;
  }
const greeting = (name:string, lastName: string, nickName: string='withoutNickName'):void => {
    console.log(`Hi my name is ${fullName(name, lastName)}, but i prefer everybody talk me ${nickName}.`);
  }

  greeting(nombre, apellido,userName);

Funciones

1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:

  • 驴Qu茅 es una funci贸n?

    Es un bloque de c贸digo que resuelve un subproblema espec铆fico.

  • 驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

    Cuanto necesito hacer c谩lculos automatizados con diferentes argumentos y no repetir manualmente, va m谩s all谩 de los ciclos gracias a la definici贸n de par谩metros.

  • 驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

    Par谩metros son la lista de variables que se declaran al crear la funci贸n, argumentos son los valores reales en la ejecuci贸n de la funci贸n.

2锔忊儯 Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
// Code within function
function foobar(name, lastname, nickname) {
	completeName = `${name} ${lastname}`;
	console.log(`My name is ${completeName}, but I prefer that you call me ${nickname}.`);
}

foobar('"Alexander', 'Reyes', 'AARH777');
function user(name, lastname){ // parametros
	let fullName = `Mi nombre completo es ${name} ${lastname}`;

	return fullName;
}

user('Pedro', 'Morales') // Argumentos

Tal vez al principio podr铆a ser algo lioso interiorizar la funci贸n dentro de una funci贸n, a煤n mas con los dichosos Par谩metros que aun encima tienen el mismo nombre jajaj

Pero si recordamos que las funciones no importa el orden y siempre se ejecutan cuando la obligamos, entonces tal vez se podr铆a asimilar mejor si nos enfocamos en el efecto domin贸 de la l贸gica y que cada Par谩metro es propia de cada funci贸n.

Osea,
function A (elmismonombre) {}
function B (elmismonombre) {}

Pese a tener 鈥渆lmismonombre鈥 como Par谩metro, es indiferente y no afecta en lo absoluto.

Entonces se podr铆a decir que los argumentos son par谩metros con valores definidos al ejecutar la funci贸n.

Mientras estaba haciendo el test la pregunta sobre la diferencia entre argumento y par谩metro me tomo algo de tiempo entenderla, pero gracias a una asociaci贸n que hice pude entenderla.
Cuando buscamos el significado de Par谩metro encontramos lo siguiente : "Elemento o dato importante desde el que se examina un tema, cuesti贸n o asunto. ", por lo que yo entiendo el Par谩metro va a examinar algo y el Argumento ser谩 examinado.
Entonces la Asociaci贸n es que los Par谩metros van a examinar que el
valor ingresado (Argumento) para que siga las instrucciones de la funci贸n o verificar si es el valor correcto. Si la funci贸n no tiene par谩metros no importa que argumentos le des, no funcionar谩 porque no hay quien examine dicho argumento o valor.Puedes pensar en ello como un profesor(Examinador) y tu prueba(Argumento).

//                par谩metros
function persona(nombre,apellido)
{
    console.log(`yo soy ${nombre} ${apellido}`)
}
//          Argumentos
persona("Ricardo", "Donoso")

Incluso puede probar quitarle un par谩metro y te daras cuenta que te dar谩 error, por lo que si no hay par谩metros no hay forma de que la funcion se ejecute porque no hay examinador, por tanto no importante los argumetos que le des, no mostrara nada.

Tambi茅n puedes ver a los par谩metros como ranuras para la funcion, donde iran los argumentos, pero si no hay ranura no funcionara la funcion.

Eso yo entend铆 y le intente dar analogias a mi propio entendimiento, espero que les sirve y por el contrario si estoy equivocado corregirme por favor 馃槂.

Me encanto la explicaci贸n de las funciones Profe!!, ademas justo se dio la oportunidad de tener una funci贸n dentro de otra tan dificil que suena y en el ejemplo se vio muy f谩cil. Me encanto la explicaci贸n y el ejemplo.

llave {}
corchete []

馃 Yo me recuerdo que una vez Freddy dijo que las funciones son como una cajita donde metes informaci贸n y esperas un resultado. Como a muy grandes rasgos siempre lo he visto as铆.

驴Qu茅 es una funci贸n y para que sirve?

Una funci贸n es una fracci贸n de c贸digo que realiza una acci贸n o presta un servicio 鈥 pero 鈥 驴para qu茅 queremos fracciones de c贸digo? Nos sirven para estructurar nuestra l贸gica, es decir, para organizar la secuencia de instrucciones.

Y resulta que esa fracci贸n de c贸digo que hace 鈥渁lgo鈥: que funciona, nos puede llegar a ser muy util (y nos daremos cuenta de ello m谩s adelante) para no repetir muchas veces el mismo texto de c贸digo.

pero 驴por que se repetiria muchas veces el c贸digo?

Porque habran ocasiones donde hay acciones repetitivas, como comprobaciones o verificaciones 鈥

2锔忊儯 Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

//Solution
const myFunction = (name, lastName, nickName) =>  `Mi nombre es:  ${name} ${lastName}, pero prefiero que me digas ${nickName}.`;

console.log(myFunction("Herald ", "Flores", "herald"));
function nombreCompleto(name , lastName){
    return name + ' ' + lastName;
}

nombreCompleto('Pedro', 'Ramos');


function saludar(nombre, apellido, username){
    const completeName = nombre + ' ' + apellido;
    const nickName = username;

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickName +".");
}

las funciones son lo maximo. una vez que les agarras el hilo, ves lo importante que son

La forma de escribir la funci贸n puede variar, sin embargo tiene el mismo resultado

//Opci贸n 1
function saludar (nombre){
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}

//Opci贸n 2
const saludar =function (nombre){
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}


//Opci贸n 3
const saludar = ()=>{
    let saludo = `隆Hola ${nombre}!, 驴como estas?`;
    document.write(saludo);
}
//Esta ultima es llamada funcion flecha

Prefer铆 hacerlo con una sola l铆nea de c贸digo sin llamar a la funci贸n anterior:

<function saludar(nombre, apellido, apodo){
console.log("Mi nombre es " + nombre + " " + apellido + " pero me dicen " + apodo + ".");
};> 

Res煤men de la respuesta a la pregunta de par谩metros y argumentos, bas谩ndome en conceptos anteriormente ense帽ados.
Cuando se declaran junto con la funci贸n son PAR脕METROS, cuando se inicializan junto a la funci贸n (invocarla) son ARGUMENTOS

Hola me gustar铆a poder compartir esta informaci贸n que me parece importante investigar ya que son los tipos de declaraciones de funciones que se pueden usar en JavaScript dependiendo de utilidad.

Una de las caracter铆sticas m谩s importantes de las funciones en Javascript es su versatilidad. En Javascript las funciones son diferentes a las funciones de otros lenguajes de programaci贸n. En Javascript las funciones son un objeto. Por ello se les puede asignar variables, arrays u otros objetos. La forma en la cual hallamos definido nuestra funci贸n, definir谩 el comportamiento de la misma. Siendo los tipos de funci贸n que podemos crear en Javascript los siguientes:

Function declaration
Function expression
IIFE (Immediately Invoked Function Expression)
Shorthand method definition
Arrow function
Generator function
Function constructor

Hasta este punto el curso no se ve nada practico y se pone demasiado pesado y aburrido con todo lo que habla Juan David, se supone que es un curso de JavaScript pr谩ctico 驴d贸nde est谩 la practica?

quiero de esas vitaminas que le dan al profe para tener la energ铆a que tiene en cada clase.

Me parecio muy buena, pero veo que utiliza dos funciones, en la que yo hice solo utilizo una funcion, pero obtengo el mismo resultado, mi funcion fue la siguiente:
function presentarse(name,lastname,completeName,nickname){
return console.log(Mi nombre completo es ${name} ${lastname}, pero prefiero que me digas ${nickname}, y he entendido esta funcion en Java script.);
}

<code> // Funci贸n para calcular el promedio de calificaciones
function calcularPromedio(calificaciones) {
    let suma = 0;
    for (let i = 0; i < calificaciones.length; i++) {
        suma += calificaciones[i];
    }
    return suma / calificaciones.length;
}

// Datos de calificaciones de estudiantes
const calificacionesJuan = [90, 85, 88, 92, 78];
const calificacionesMaria = [75, 80, 92, 88, 91];
const calificacionesCarlos = [60, 70, 75, 68, 82];

// Llamar a la funci贸n para calcular el promedio
const promedioJuan = calcularPromedio(calificacionesJuan);
const promedioMaria = calcularPromedio(calificacionesMaria);
const promedioCarlos = calcularPromedio(calificacionesCarlos);

// Imprimir los resultados en la consola
console.log("Promedio de Juan: " + promedioJuan);
console.log("Promedio de Mar铆a: " + promedioMaria);
console.log("Promedio de Carlos: " + promedioCarlos);

Escrib铆 la funci贸n del saludo apoy谩ndome con un formulario en HTML para que el usuario meta los datos directamente en el formulario y se impriman en consola

Documento prueba.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Prueba del curso pr谩ctico de js</title>
</head>
<body>
    <h1>Introduce los datos solcitados e imprimmelos a trav茅s de una funci贸n de js</h1>
    <form action="">
        <label for="nombre">Introduce tu nombre</label>
        <input type="text" name="" id="nombre">
        <label for="apellido">Introduce tu apellido</label>
        <input type="text" name="" id="apellido">
        <label for="nickname">Introduce tu nickname</label>
        <input type="text" name="" id="nickname">

        <button type="button" onclick="imprimirNombreEnConsola(nombre.value, apellido.value, nickname.value)">Imprimir el nombre completo</button>

    </form>
    <script src="./prueba.js"></script>
</body>
</html>

Documento pruebla.js

const imprimirNombreEnConsola = (nombre, apellido, nickname) => {
    console.log('Mi nombre es ' + nombre + ' ' + apellido + ' ' + 'pero prefiero que me digas' + nickname);
} 

Cuando Juan David dice 鈥淭ratar de explicarselo a un patito de ule鈥濃 hace referencia a 鈥淓l programador pragmatico鈥 un excelente libro que nos ense帽a, entre muchas cosas, una tecnica conocido como 鈥渄uck鈥 bueno鈥 falta algo mas en el nombre de la tecnica pero no lo recuerdo, que consiste, en para averiguar que esta mal con tu codigo, toma un patito de ule, y explicale linea por linea que hace el codigo鈥

Me resulto un poco confuso a la primera el utilizar una funci贸n dentro de una const.
.
Pero luego comprend铆 que estamos reutilizando el c贸digo, los valores de nuestra funci贸n anterior para ayudarnos a 鈥渙perar/crear鈥 la nueva funci贸n.

El profesor me hace acordar a Kiko del famosisimo programa de tv El chavo del 8 , me cae bien

Juan David es un excelente profesor, su empat铆a, capacidad para trasmitir conocimiento y su 鈥渉umor鈥 hacen las clases muy agradables.

馃槂

la functionInception hace honor a la pelicula

Me gusto el uso de la funci贸n nombreCompleto para dar el espacio entre nombre y apellido, yo la verdad que solo le di un espacio al terminar el nombre para que al concatenar quedaran separados jaja 馃槄

los par谩metros son variables 鈥渋ncrustadas鈥 o inyectadas en una funci贸n. En este caso son name y lastname en el ejemplo de juanDC.
Esas variables est谩n declaradas (existen pero no tienen nada dentro).

Cuando a esas variables le agregamos un valor (le agregamos informaci贸n, las inicializamos), en este caso natalia para name y villamil para lastname se convierten en argumentos.

Es decir, es el equivalente de decir:
let name, lastname; (par谩metros)
name = 鈥榥atalia鈥 (argumento)
lastname = 鈥榲illamil鈥 (argumento).

Espero les sirva鈥 es largo pero creo q vale la pena leerlo

++Funciones ++
1.- Responde:

  • 驴Qu茅 es una funci贸n?
    Es un bloque de c贸digo, un conjunto de instrucciones que realizar una tarea o calculan un valor. Nesecitan datos de entrada para dar datos de salida.

  • 驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?
    Cuando se quiere obtener un valor para poder hacer algo con el. Tambien son reutilizables y automatizan procesos.

  • 驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?
    Par谩metro = Valor que el procedimiento espera que se pase al crearlo. La declaraci贸n del procedimiento define sus par谩metros.
    Argumentos = Valor que se pasa a un par谩metro de procedimiento al invocarlo.
    Cada argumento, corresponde a un par谩metro. Los argumentos no tienen nombre, deben cumplir con el tipo de dato especificado en su par谩metro o poder convertirse en el.

2.- Convierte a funci贸n el siguiente c贸digo:


jamas pens茅 en utilizar una funcion dentro de una funci贸n, que increible.

Este profe explica pero bien, Todo entusiasmado lo contagia a uno, y es de mi edad, mero teso.

Yo creo que te puedes ahorrar la funcion de nombre completo si usas para unir el nombre y el apellido. Asi:

const frase = (name, lastname, nickname) => {
    const completeName = `${name} ${lastname}`;
    return console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`);
}
frase("Rolando", "Osorio", "Ragosorio")

ejemplo esta funci贸n recibe dos par谩metros a,b los par谩metros a,b puede ser el nombre que mas te guste o sea la mejor practica en clean code.
dentro de la funci贸n sumamos los dos par谩metros a y b y lo retornamos

const miFuncion = (a,b) =>{
	return a +b;
}

llamamos la funci贸n y pasamos los par谩metros que queremos en mi caso es 1,2
que seria igual a
a = 1
b = 2


miFuncion(1,2)

y la funcion nos retorna la suma de las dos funciones
a = 1 + b = 2
nos retorna 3;

Explicaci贸n de par谩metros y argumentos en las funciones

me costaba mucho entender las funciones porque me confundia que eran parametros y que eran variables y por lo mismo no sabia como se usaban ufffffff por fin entendi que es una funcion. Gracias profe 馃槂

En lo personal, juanda es el profesor que menos le entiendo, su manera de ense帽ar me confunde y me hace repetir clase tras clase para poder avanzar. Respeto los que sienten estima hacia 茅l, pero a veces omite c贸digo o cosas que el puede omitir, (por que lo sabe ) y me confunde buscando nuevamente el por qu茅.(opini贸n personal)

Mi funci贸n que realic茅 fue la siguiente:

function myPresentation(name, lastname, nickname){
    let completeName = name + " " + lastname;
    return "Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".";
}


myPresentation("Ricardo","Chavez","ricardo999");

Una funci贸n es una estructura que almacena un bloque de c贸digo que puede ser usada despu茅s, sin la necesidad de codificarla en cada ocasi贸n. Eso hab铆a puesto en mi test 馃槄

Como tkm mucho a las funciones, son geniales 鉂わ笍

La diferencia entre parametros y argumentos a煤n me confunde un poco, pero poco a poco la interiorizar茅 :3.

Gracias por la explicaci贸n!

functions

驴Qu茅 es una funci贸n?

Una funci贸n es una porci贸n de c贸digo reusable que puede ser llamada en cualquier momento desde nuestro programa.
.

驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

Las funciones son 煤tiles en el c贸digo cuando necesitamos ejecutar una serie de instrucciones en m煤ltiples lugares del programa.
.

驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

Los par谩metros son los nombres que se utilizan en la definici贸n de la funci贸n para representar los valores de entrada que se esperan. Los argumentos son los valores reales que se pasan a la funci贸n cuando se llama. En otras palabras, los par谩metros son las variables que la funci贸n espera recibir, mientras que los argumentos son los valores que se pasan a esas variables cuando se llama a la funci贸n.

4/27 Funciones

En la primera parte del test de JavaScripr ya resolvimos todo y ahora estamos en la secci贸n de funciones, donde encapsulamos bloques de c贸digo para que sean reutilizables y ejecutables en el futuro.

Las funciones nos ayudan a guardar bloques de c贸digo dentro de una caja de cajas y podemos llamarlas o ejecutarlas cuando las necesitemos.

Utilizando funciones podemos hacer que una variable utilice diferentes variable, lo cual es m谩s dificil de hacer con solo variables.

Las funciones son capaces de retornar cosas y pueden recibir par谩metros.

En lugar de usar siempre las mismas variables, podemos utilizar par谩metros para que cada ve que llamemos a la funci贸n no tengamos siempre el mismo resultado.

Podemos enviar diferentes variables como argumentos, lo que nos permite reutilizar el c贸digo y ejecutarlo en el fututo.

Las funciones nos permiten encapsular bloques de c贸digo para reutilizarlos y dar diferentes resultados.

Cuando mandamos a llamar una funci贸n, estamos ejecutando el bloque de c贸digo que encapsula.

Una funci贸n nos sirve para reutilziar c贸digo cuando tenemos variables o bloques de c贸digo muy parecidos que podemos encapsular y ejecutar cuando los necesitemos en el futuro.

Tambi茅n nos ayuda a mejorar la legibilidad y ordenar nuestro c贸digo.

Los par谩metros son los que reciben las funciones cuando las creamos, mientras que los argumentos son los valores que le pasamos cuando las ejecutamos.

Una funci贸n recibe par谩metros cuando la creamos y argumentos cuando la ejecutamos.

Al crear una funci贸n, podemos convertir variables constantes en par谩metros para que puedan ser din谩micos en el futuro.

Funciones

/* 1 ** Responde las siguientes preguntas en la secci贸n de comentarios:*/

// 驴Qu茅 es una funci贸n?

En JavaScript, una funci贸n es un bloque de c贸digo que se puede definir una vez y ejecutar varias veces seg煤n sea 
necesario. Las funciones se utilizan para encapsular una tarea o un conjunto de tareas relacionadas en un solo bloque 
de c贸digo, lo que facilita su reutilizaci贸n y mantenimiento.

En JavaScript, una funci贸n se define utilizando la palabra clave function, seguida del nombre de la funci贸n y un par de
par茅ntesis que pueden contener los par谩metros de entrada de la funci贸n. A continuaci贸n, viene el cuerpo de la funci贸n, 
que contiene las instrucciones que se ejecutar谩n cada vez que se llame a la funci贸n.

// 驴Cu谩ndo me sirve usar una funci贸n en mi c贸digo?

Usar funciones en tu c贸digo es beneficioso por varias razones:

Reutilizaci贸n de c贸digo: Una de las principales ventajas de las funciones es que puedes definirlas una vez y 
reutilizarlas varias veces en diferentes partes de tu programa. Esto te permite evitar duplicar c贸digo y simplificar el
mantenimiento de tu c贸digo.

Abstracci贸n de complejidad: Las funciones tambi茅n te permiten abstraer la complejidad de tu c贸digo. Puedes definir 
funciones que realicen tareas complejas y utilizarlas en lugar de tener que escribir todo el c贸digo complejo en cada 
lugar donde se necesita.

Mejora la legibilidad del c贸digo: Las funciones bien definidas y nombradas pueden hacer que tu c贸digo sea m谩s f谩cil de 
leer y entender. En lugar de tener un bloque de c贸digo largo e ininteligible, puedes separar la l贸gica en funciones m谩s
peque帽as y comprensibles.

Facilita el mantenimiento: Cuando el c贸digo est谩 organizado en funciones, es m谩s f谩cil hacer cambios en el futuro. 
Puedes actualizar una funci贸n en un solo lugar en lugar de buscar y actualizar el c贸digo repetido en varias partes de 
tu programa.

Permite modularidad: Las funciones pueden ser agrupadas en m贸dulos o librer铆as reutilizables que pueden ser compartidas
entre diferentes proyectos. Esto puede acelerar el proceso de desarrollo y reducir los errores.

En resumen, usar funciones en tu c贸digo te permitir谩 reutilizar c贸digo, abstraer la complejidad, mejorar la legibilidad
del c贸digo, facilitar el mantenimiento y permitir modularidad. Estas son solo algunas de las razones por las cuales 
deber铆as considerar el uso de funciones en tu c贸digo JavaScript.

// 驴Cu谩l es la diferencia entre par谩metros y argumentos de una funci贸n?

En el contexto de una funci贸n en JavaScript, "par谩metros" y "argumentos" son t茅rminos que se refieren a valores que se 
utilizan para pasar datos a la funci贸n. Aunque estos t茅rminos a menudo se usan indistintamente, hay una diferencia 
importante entre ellos.

Par谩metros: Son variables que se definen en la declaraci贸n de la funci贸n. Son utilizados para recibir valores que se 
pasan a la funci贸n cuando se llama. En otras palabras, los par谩metros son una forma de declarar qu茅 tipo de datos la 
funci贸n espera recibir.

Por ejemplo, en la siguiente funci贸n, "a" y "b" son par谩metros:

function sumar(a, b) {
  return a + b;
}

Argumentos: Son los valores que se pasan a la funci贸n cuando se la llama. Estos valores se asignan a los par谩metros de 
la funci贸n. En otras palabras, los argumentos son los valores que se pasan a la funci贸n cuando se la llama.

Por ejemplo, al llamar a la funci贸n sumar con argumentos 2 y 3, 2 se asigna a "a" y 3 se asigna a "b":

let resultado = sumar(2, 3); // resultado es 5

/* 2 ** Convierte el siguiente c贸digo en una funci贸n, pero, cambiando cuando sea necesario las variables constantes por par谩metros y argumentos en una funci贸n:*/

/*const name = 鈥淛uan David鈥;
const lastname = 鈥淐astro Gallego鈥;
const completeName = name + lastname;
const nickname = 鈥渏uandc鈥;

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + 鈥.鈥);*/

function persona(){
  const name = "Juan David";
  const lastname = "Castro Gallego";
  const completeName = name + " " + lastname;
  const nickname = "juandc";
  console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

persona()