Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: AlexKurban en 30 Julio 2015, 21:14 pm



Título: ejercicio para novatos de javascript
Publicado por: AlexKurban en 30 Julio 2015, 21:14 pm
hola a todos, estoy estudiando javascript por mi cuenta y me veo bastante jodido, se que es muy importante pero quiza no se pensar de esa manera que piden para el ejercicio. veran el tema es que tengo que crear 2 funciones, A y B que tienen unos cuantos argumentos. En la funcion A es necesario recibir esa cadena de argumentos que le han sido dados a la funcion y añadir uno mas (un string ¨hello¨). y con toda esa lista de argumentos llamar a la funcion B. en la funcion B es necesario que al llamarla aprezca en la consola el ultimo string (¨hello¨).

es esto posible?


Título: Re: ejercicio para novatos de javascript
Publicado por: MinusFour en 30 Julio 2015, 21:32 pm
Si es posible.

Código
  1. function A (parametros){
  2.    B(parametros, 'hello');
  3. }
  4.  
  5. function B (parametros, str){
  6.    console.log(str);
  7. }

Edit:
Si es para argumentos variables:

Código
  1. function A(){
  2.    [].push.call(arguments, 'hello');
  3.    B.apply(this, arguments);
  4. }
  5.  
  6. function B() {
  7.    console.log([].pop.call(arguments));
  8. }


Título: Re: ejercicio para novatos de javascript
Publicado por: AlexKurban en 31 Julio 2015, 18:44 pm
no entiendo, asi podria ser?

Código
  1. function A (name1, name2, name3){
  2.     console.log(name1 + name2 + name3 + "hello")
  3. }
  4. function B (name1, name2, name3){
  5. console.log("hello")
  6. }
  7. A("alex ", "you ", "bro ");
  8. B();
  9.  

Mod: Obligatorio el uso de etiquetas GeSHi.


Título: Re: ejercicio para novatos de javascript
Publicado por: MinusFour en 31 Julio 2015, 18:53 pm
no entiendo, asi podria ser?

Código
  1. function A (name1, name2, name3){
  2.     console.log(name1 + name2 + name3 + "hello")
  3. }
  4. function B (name1, name2, name3){
  5. console.log("hello")
  6. }
  7. A("alex ", "you ", "bro ");
  8. B();

Si haces eso, name2 y name3 de B() son undefined. El operador + funciona para concatenar strings y sumar números. Lo que tu estás haciendo es enviar un solo argumento en la llamada a B mientras que B espera 3 argumentos. Como imprimes "Hello" es lo de menos, pero si esperas a imprimir el último argumento enviado a B entonces no es correcto.


Título: Re: ejercicio para novatos de javascript
Publicado por: AlexKurban en 1 Agosto 2015, 19:55 pm
Y si lo hago asi?

Código
  1.    function A(a,b){
  2.      return function(c){
  3.        console.log(a,b,c);
  4.      };
  5.    }
  6.  
  7.    var B = A(1, 2);
  8.  
  9.    B('Hola');


Mod: Obligatorio el uso de etiquetas GeSHi.


Título: Re: ejercicio para novatos de javascript
Publicado por: MinusFour en 1 Agosto 2015, 21:29 pm
Y si lo hago asi?

Código
  1.    function A(a,b){
  2.      return function(c){
  3.        console.log(a,b,c);
  4.      };
  5.    }
  6.  
  7.    var B = A(1, 2);
  8.  
  9.    B('Hola');


Mod: Obligatorio el uso de etiquetas GeSHi.

Pues no es lo que quieres hacer de acuerdo a tu enunciado:

Citar
En la funcion A es necesario recibir esa cadena de argumentos que le han sido dados a la funcion y añadir uno mas (un string ¨hello¨). y con toda esa lista de argumentos llamar a la funcion B


Título: Re: ejercicio para novatos de javascript
Publicado por: AlexKurban en 2 Agosto 2015, 01:39 am
vaya... esque el maldito enunciado esta en ruso, yo soy bielorruso pero he vivido en España 21 años y ahora traducir este tipo de tecnicismos es jodidillo, concretamente el enunciado, por eso ando liado, creo que he puesto mal el enunciado, es asi;

tengo que crear 2 funciones, A y B que tienen unos cuantos argumentos. En la funcion A es necesario recibir esa cadena de argumentos que le han sido dados a la funcion y añadir uno mas (un string ¨hello¨). y con toda esa lista de argumentos llamar a la funcion B. en la funcion B es necesario que al llamarla aprezca en la consola ESE ultimo string ¨hello¨(el que le fue dado a la funcion A).

nose si eso haria que cambiara algo en las soluciones que me has dado. El caso es que al llamar B en la consola tenga que aparecer el ultimo string que tengo que llamar "hello" que le fue dado a la funcion A