如何在Javascript中向变量参数函数添加额外的对象?

如何在Javascript中向变量参数函数添加额外的对象?,javascript,object,arguments,Javascript,Object,Arguments,附言:我不是在问如何将函数传递给函数!我在问如何在传递函数后添加参数 我想将function作为变量传递给functionB,并在functionB中向function添加一个额外的对象。我该怎么做 function functionA() { console.log( arguments ); } function functionB( fn ) { fn( { c : 'extra object', }); } functionB( function(

附言:我不是在问如何将函数传递给函数!我在问如何在传递函数后添加参数

我想将function作为变量传递给functionB,并在functionB中向function添加一个额外的对象。我该怎么做

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' } }
试试这个

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 );
});

在您的示例中,您将函数作为
functionB
的参数传递,并在此匿名函数中调用
function
。我很好奇你是否想将
function
作为参数传递,而不是匿名传递?@RajeshPatel我不是在问如何将函数传递给函数!我在问传递函数后如何添加参数。@AlexanderIvantsov我不确定我是否理解,但我正在尝试将functionA传递给functionB,并向其添加参数(functionA)。顺便说一句,我编辑了这个问题,希望能帮助大家更好地理解。谢谢!虽然结果和我想要的有点不同,但是是的,很好的例子。