Javascript 如何删除类似的函数调用

Javascript 如何删除类似的函数调用,javascript,jquery,Javascript,Jquery,我想在javascript插件中调用一个函数: var display = function(overlay, overlay_color, modal, opacity, drag) { //some stuff } 我当前调用此函数的方式如下: if (ajax) { modal.waitUntilExists(function() { load(); display($("#lean_overlay"), options.ove

我想在javascript插件中调用一个函数:

var display = function(overlay, overlay_color, modal, opacity, drag)    {
      //some stuff
}

我当前调用此函数的方式如下:

if (ajax) {
    modal.waitUntilExists(function() {
        load();
        display($("#lean_overlay"), options.overlay_color, $(options.modal_id), options.overlay, options.drag);
    });
} else {
     display($("#lean_overlay"), options.overlay_color, $(options.modal_id), options.modal, options.overlay, options.drag);
}
问题是如何干燥
显示
功能的触发?我正在考虑将函数拆分为
init
fire
方法(不确定术语是否正确)-调用该方法一次,并相应地激发


任何信息都将不胜感激,谢谢

如果您经常使用(部分)相同参数的函数,则可以使用。因为函数在Javascript中是一流的公民,所以它非常适合这样做

在您的情况下,可以在if语句之前创建一个:

然后使用新创建的
partial()


PS“partial”是一个可怕的函数名。使用更好的方法来描述片段的功能,比如你的“火”

您的第二次呼叫有一个参数太多。谢谢!我会修正这个!这是一个应该创建Dom元素的函数吗?如果是这样,我建议使用jquerymobile的小部件:否则创建一个类就好了。函数的init部分可以是构造函数,fire函数可以是一个方法。谢谢Chris,我们将对此进行研究@里奇·佩克:玩得开心。我还找到了一个。函数式编程的许多资源都具有数学性质。数学家在命名函数方面比我还要差。他们的单字母名字简洁,确实会得到额外的分数。别让它吓到你。函数式编程有它的优点。哈哈,谢谢你的提醒!我将简短地看一下这正是所需要的-再次感谢你
var partial = display.bind(null,
                           $("#lean_overlay"),
                           options.overlay_color, 
                           $(options.modal_id),
                           options.overlay,
                           options.drag);