2016-02-29 5 views
0

P.S .: Я не спрашиваю, как передать функцию функции! Я спрашиваю, как добавить аргумент после передачи функции.Как добавить дополнительный объект в переменную функцию аргумента в Javascript?

Я хочу передать функцию A как переменную функции B и добавить дополнительный объект к функции A внутри функции B. Как я могу это сделать?

function functionA() { 
    console.log(arguments); 
} 
function functionB(fn) { 
    fn({ 
     c : 'extra object', 
    }); 
} 
functionB(function() { 
    functionA({ 
     a : 'foo', 
     b : 'bar', 
    }) 
}); 

это результат:

{ '0': { a: 'foo', b: 'bar' } } 

но то, что я хочу это:

{ '0': { a: 'foo', b: 'bar', c: 'extra object' } } 
+1

http://stackoverflow.com/questions/ 13286233/pass-a-javascript-function-as-parameter –

+0

В вашем примере вы передаете функцию как параметр для функции 'functionB', а внутри этой анонимной функции вы вызываете' functionA'. Мне интересно, если вы хотите передать 'functionA' в качестве аргумента, а не анонимного? –

+0

@RajeshPatel Я не спрашиваю, как передать функцию функции! Я спрашиваю, как добавить аргумент после передачи функции. –

ответ

0

попробовать этот

function functionA() { 
    console.log(arguments); 
} 
function functionB(fn) { 
    fn({"d": "c"}); //passing the extra arguments from here 
} 
functionB(function() { 
    var obj ={ 
     a : 'foo', 
     b : 'bar' 
    }; 
    obj.extra = arguments; //adding the arguments to function A 
    functionA(obj); 
}); 
+0

Спасибо! хотя результат немного отличается от того, что я хочу, но да, хороший пример. –

Смежные вопросы