目前的设置:
var placeId; function selectPlace(place) { $('#selectPlace').html('Selected Place: ' + place.Name + ''); $('#map').hide(400); placeId = place.Id; } $(document).ready(function() { $('#postMessage').click(function() { alert("PlaceId: " + placeId); }); });
可以/我应该使用闭包吗?
这似乎是一件合理的事情,基于上下文,你可以通过用函数表达式代替你的代码来轻松地做到这一点:
(function(){ var placeId; // It looks like you want selectPlace to be a global function? // hence i'm using assignment of a function expression here selectPlace = function (place) { $('#selectPlace').html('Selected Place: ' + place.Name + ''); $('#map').hide(400); placeId = place.Id; } $(document).ready(function() { $('#postMessage').click(function() { alert("PlaceId: " + placeId); }); }); })();