如何在闭包中访问全局变量?(Javascript)

How to access a global variable in a closure? (Javascript)

本文关键字:Javascript 全局变量 访问 闭包      更新时间:2023-09-26
            var events = <?php echo $sf_data->getRaw('jsonData'); ?>;//some perfecly fine json
            var locations = new Array();
            var geocoder = new google.maps.Geocoder();
            $(events).each(function(i,e){
                geocoder.geocode({address: e.place},function(results,statusCode){
                    locations[e.id] = results[0].geometry.location;
                })
            })
            alert(locations.length);

好,这个问题很简单。我如何修改位置数组闭包内?提示0

由于异步修改locations,警告显示为0。修改locations的匿名函数将在后面被调用然后显示警报。