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?
Si es posible.
function A (parametros){
B(parametros, 'hello');
}
function B (parametros, str){
console.log(str);
}
Edit:
Si es para argumentos variables:
function A(){
[].push.call(arguments, 'hello');
B.apply(this, arguments);
}
function B() {
console.log([].pop.call(arguments));
}
no entiendo, asi podria ser?
function A (name1, name2, name3){
console.log(name1 + name2 + name3 + "hello")
}
function B (name1, name2, name3){
console.log("hello")
}
A("alex ", "you ", "bro ");
B();
Mod: Obligatorio el uso de etiquetas GeSHi.
Cita de: AlexKurban en 31 Julio 2015, 18:44 PM
no entiendo, asi podria ser?
function A (name1, name2, name3){
console.log(name1 + name2 + name3 + "hello")
}
function B (name1, name2, name3){
console.log("hello")
}
A("alex ", "you ", "bro ");
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.
Y si lo hago asi?
function A(a,b){
return function(c){
console.log(a,b,c);
};
}
var B = A(1, 2);
B('Hola');
Mod: Obligatorio el uso de etiquetas GeSHi.
Cita de: AlexKurban en 1 Agosto 2015, 19:55 PM
Y si lo hago asi?
function A(a,b){
return function(c){
console.log(a,b,c);
};
}
var B = A(1, 2);
B('Hola');
Mod: Obligatorio el uso de etiquetas GeSHi.
Pues no es lo que quieres hacer de acuerdo a tu enunciado:
CitarEn 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
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