说我有以下代码:

var watchId = navigator.geolocation.watchPosition(displayLocation, displayError);


有一个方法watchPosition,它反复调用两个处理程序之一,即displayLocationdisplayError

我的成功处理程序displayLocation接受由方法watchPosition提供的参数。

我无法理解该方法如何将参数传递给处理程序。我知道函数被视为值。如何在我的代码中复制它?

最佳答案

传递给其他函数的方式相同。

您指定引用要调用的函数的变量,然后将()以及它们之间的参数放在中间。

function watchPosition(aFunction, anotherFunction) {
    if (all_is_good) {
        aFunction(1);
    } else {
        anotherFunction(2);
    }
}

var all_is_good = true;

function handler(arg) { console.log(arg); }

watchPosition(handler, handler);

07-24 14:45