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

时间:2011-08-04 16:32:45

标签: javascript closures scope

            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

1 个答案:

答案 0 :(得分:4)

警报显示0,因为您异步修改locations。您修改locations的匿名功能将被称为稍后,然后您会显示警告。