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

                marker.setMap(null);

                }
                })(marker, i));

このコードは Web から取得しましたが、非常にうまく機能します。関数の末尾にある「(marker, i)」の意味がわかりません。誰かがこれについてもう少し説明できますか?

ありがとう!

4

2 に答える 2

0

それは自己呼び出し関数です。

(marker, i)関数を呼び出すときに渡されるパラメーターです。

于 2012-04-15T22:26:40.727 に答える
0

ポイントは、新しいスコープを作成することです。

あなただけの場合:

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

marker後で変更すると失敗します。このコードはおそらくループで使用されています。しかし、それiは無意味です。次のように簡略化できます。

google.maps.event.addListener(marker, 'rightclick', (function(marker) {
    return function() {
        marker.setMap(null);
    }
})(marker));
于 2012-04-15T22:29:09.550 に答える