如何在Javascript中向变量参数函数添加额外的对象?
附言:我不是在问如何将函数传递给函数!我在问如何在传递函数后添加参数 我想将function作为变量传递给functionB,并在functionB中向function添加一个额外的对象。我该怎么做如何在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 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)。顺便说一句,我编辑了这个问题,希望能帮助大家更好地理解。谢谢!虽然结果和我想要的有点不同,但是是的,很好的例子。