Javascript 谷歌地图APIv3代码中(marker,i)的含义是什么?

Javascript 谷歌地图APIv3代码中(marker,i)的含义是什么?,javascript,maps,Javascript,Maps,我从网上得到了这段代码,它运行得非常好。我不确定函数末尾的“(marker,I)”的含义。有人能再解释一下吗 谢谢大家! 这是一个自调用函数 (marker,i)是调用函数时传递的参数。关键是创建一个新的作用域 如果你只是这样做: google.maps.event.addListener(marker, 'rightclick', (function(marker, i) { return function() {

我从网上得到了这段代码,它运行得非常好。我不确定函数末尾的“(marker,I)”的含义。有人能再解释一下吗


谢谢大家!

这是一个自调用函数


(marker,i)
是调用函数时传递的参数。

关键是创建一个新的作用域

如果你只是这样做:

                    google.maps.event.addListener(marker, 'rightclick', (function(marker, i) {
                return function() {

                marker.setMap(null);

                }
                })(marker, i));
如果
标记
以后更改,它将失败。此代码可能在循环中使用。然而,
i
是毫无意义的。可以简化为:

google.maps.event.addListener(marker, 'rightclick', function() {
        marker.setMap(null);
    }
});
google.maps.event.addListener(marker, 'rightclick', (function(marker) {
    return function() {
        marker.setMap(null);
    }
})(marker));