這是我的谷歌地圖示例代碼。JavaScript範圍丟失
google.maps.event.addListener(this.map, 'tilesloaded', function(overlayControl, zielgebiet) {
return function(overlayControl) {
if(MAPSEARCH_SCOPE.dragend)
MAPSEARCH_SCOPE.setOverlaysText.bind(MAPSEARCH_SCOPE, overlayControl, zielgebiet);
}
}(this.overlayControl, this.zielgebiet));
最初我正在使用一個gobal變量來保留我的類的範圍。在這個事件中,聽衆this
代表google.maps.event
類有沒有更好的方法來做到這一點?
現在我的問題是,我想打電話給setOverlayText一段時間後喜歡 liek
setTimeout("MAPSEARCH_SCOPE.setOverlaysText.bind(MAPSEARCH_SCOPE, overlayControl, zielgebiet)", 1000);
這樣我又失去了MAPSEARCH_SCOPE
和類變量overlayControl
和zielgebiet
變得不確定。
不在'setTimeout'內使用字符串 – levu
這些變量來自關閉此偵聽器的函數或這些是谷歌填充的變量? – Baz1nga