This question already has answers here:
JavaScript object: access variable property by name as string [duplicate]
                                
                                    (3个答案)
                                
                        
                                5年前关闭。
            
                    
我不知道这个问题是否足够清楚。我认为一个例子更容易理解。我要执行以下操作:

而不是直接调用对象方法,如下所示:


$("#input").changed(function(){
    //do something
})



或这个:


$("#input").keyup(function(){
    //do something
})



我想拥有一个可以动态更改正在调用的对象方法的函数,如下所示:


function foobar(callback){
    $("#input").callback(function(){
        //do something
    })
}

foobar("keyup")
foobar("changed")

最佳答案

是。这些方法是Javascript Object中的键。您可以按名称在圆括号中的点或字符串中使用这些方法:

$(selector).keyup()


要么

$(selector)['keyup']()


因此,您可以创建如下函数:

function foobar(callback){
    $("#input")[callback](function(){
        //do something
    })
}


虽然,这似乎很愚蠢。

关于javascript - 在Javascript/Jquery中,是否可以使用回调参数间接调用对象方法? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23798506/

10-16 19:39
查看更多