在Javascript中向回调添加参数

时间:2015-03-31 21:22:59

标签: javascript callback closures bind

我需要一种方法来为回调方法添加额外的参数,这些参数应该具有某些服务的API文档给出的特定签名。

例如,回调应该有一个string类型的参数,但我想在参数中添加一个额外的int。

我想到的唯一伎俩就是像这样滥用“绑定”:

var callbackFunc = originalCallback.bind({extraParam: myInt}, theNeededString)

在回调中我可以得到这样的int:this.extraParam

你有其他提示或技巧吗?

2 个答案:

答案 0 :(得分:1)

var callbackFunc = function(theNeededString) { 
   originalCallbackind(theNeededString, myInt); 
};

答案 1 :(得分:-1)

您可以使用函数内的arguments对象来获取额外的参数

function test(a){

    for(var i = 0; i<= arguments.length-1; i++) { 
        console.log(arguments[i])
    }
}

test(1,3,4,5)
 1
 3
 4
 5

我希望它可以帮到你