Javascript 如何将参数传递给callback和don';你不会迷失方向吗?

Javascript 如何将参数传递给callback和don';你不会迷失方向吗?,javascript,jquery,callback,argument-passing,Javascript,Jquery,Callback,Argument Passing,我有以下代码: $.getJSON('getAllTerminals.json', renderTerminalsOnMapAndFitBounds.bind({index:globalRequestCounter++, navigateToTypedText:true})) ... function renderTerminalsOnMapAndFitBounds(data, updateSelectedTerminals) { renderTerminalsOnMap.ca

我有以下代码:

$.getJSON('getAllTerminals.json', renderTerminalsOnMapAndFitBounds.bind({index:globalRequestCounter++, navigateToTypedText:true}))

...
function renderTerminalsOnMapAndFitBounds(data, updateSelectedTerminals) {
        renderTerminalsOnMap.call(this,data);
        fitBounds();
        if(this.navigateToTypedText === true){
            navigateMapToTypedAdress();
        }
        if (updateSelectedTerminals) {
            $.getJSON('getSelectedTerminals', {}, function (json) {
                window.MARC.addTerminalPage.terminalsSelected = json;
                update();
                initPage();
            });
        }
    }

你能告诉我如何使所有的工作都像现在一样,但to
renderTerminalsOnMapAndFitBounds
被传递
更新SelectedTerminals
为true吗?

不,你不能使用
绑定
来部分应用非初始参数(并且没有
翻转
)。只需使用函数表达式:

$.getJSON('getAllTerminals.json', function(data) {
    renderTerminalsOnMapAndFitBounds.call({
        index:globalRequestCounter++,
        navigateToTypedText:true
    }, data, true);
});

如果必须使用bind,请更改
renderTerminalsOnMapAndFitBounds
的参数顺序,或者让它接受
updateSelectedTerminals
参数作为
这个
对象的属性。

有时候匿名函数会让事情变得简单得多。@adeneo它是现有的工作代码,我想在不使用全局变量的情况下进行最小的代码更正refactoring@gstackoverflow:不需要全局重构。请参阅Bergi的答案,了解adeneo使用匿名函数的含义。您可以使用下划线部分应用非初始参数。@mAAdhaTTah:是的,当然可以使用任何类型的帮助函数:-)我只是指内置函数。不用担心,注释只是为了防止OP不知道它们。