JavaScript - AYuda con ejercicio de Clousers

 
Vista:

AYuda con ejercicio de Clousers

Publicado por alan (1 intervención) el 18/12/2020 20:03:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// EJERCICIO 10
// Implementar la función closureGreeting que recibe un parámetro (prefix) mediante closures debe permitir
// generar nuevas funciones de saludo dejando fijo siempre el prefijo indicado.
// Ejemplo 1:
//    var hiGreeting = closureGreeting("Hi");
//    hiGreeting("Franco");  --> Devolverá "Hi Franco, you are number 1"
//    hiGreeting("Toni"); --> Devolverá "Hi Toni, you are number 2"
// Ejemplo 2:
//    var helloGreeting = closureSum("Hello");
//    helloGreeting("Franco");  --> Devolverá "Hello Franco, you are number 1"
//    helloGreeting("Toni"); --> Devolverá "Hello Toni, you are number 2"
// IMPORTANTE: Prestar atención a los espacios, comas y demás caracteres ya que tiene que el string
// debe coincidir en todos sus caracteres para que el test pase correctamente
 
function closureGreeting(prefix) {
  // Tu código aca:
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

AYuda con ejercicio de Clousers

Publicado por Joel (895 intervenciones) el 19/12/2020 09:10:50
Hola Alan, eso se realiza creando una función que devuelve otra función:

1
2
3
4
5
6
7
function closureGreeting(prefix) {
    this.prefix=prefix;
    this.number=0;
    return function(name) {
        return this.prefix+" "+name+" you are name "+(++this.number);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYuda con ejercicio de Clousers

Publicado por Flor (2 intervenciones) el 23/04/2021 20:37:32
Disculpa se que paso mucho tiempo pero no puedo entender bien el codigo, yo lo hice asi ayudandome con lo que pusiste:
1
2
3
4
5
6
7
8
function closureGreeting(prefix) {
  // Tu código aca:
  var count = 0;
  return function(name){
    count += 1;
    return prefix + " " + name + ", you are number " + count;
  }
}
Y me da bien pero no termino de entender de donde sale el name, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

AYuda con ejercicio de Clousers

Publicado por joel (895 intervenciones) el 24/04/2021 08:02:58
Hola Flor, "name" es la variable que recibe la función que devuelve closureGreeting()

Mira el ejemplo de funcionamiento:
1
2
var hiGreeting = closureGreeting("Hi");
hiGreeting("Franco"); // Devolverá "Hi Franco, you are number 1"

la variable hiGreeting pasa a ser la función devuelta por la función closureGreeting()

No se si me he sabido explicar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYuda con ejercicio de Clousers

Publicado por Flor (2 intervenciones) el 25/04/2021 20:29:13
Sii, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYuda con ejercicio de Clousers

Publicado por Jose Miguel (1 intervención) el 31/01/2023 16:36:39
function closureGreeting(prefix){

let contador = 0;

return function(name){

contador++;

return (`${prefix} ${name}, you are number ${contador} `)
}
}
var helloGreeting = closureGreeting("Hello");

helloGreeting("Franco") // Devolvera "Hello Franco, you are number 1"
helloGreeting("Toni") // Devolvera "Hello Toni, you are number 2"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYuda con ejercicio de Clousers

Publicado por Jose Miguel (1 intervención) el 31/01/2023 16:40:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function closureGreeting(prefix){
 
       let contador = 0;
 
       return function(name){
 
            contador++;
 
             return (`${prefix} ${name}, you are number ${contador} `)
      }
}
var helloGreeting = closureGreeting("Hello");
 
helloGreeting("Franco") // Devolvera "Hello Franco, you are number 1"
helloGreeting("Toni") // Devolvera "Hello Toni, you are number 2"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar