[Javascript] Anonymous functions
Terry Riegel
riegel at clearimageonline.com
Wed Dec 5 05:40:16 CST 2007
Hello again,
I just found this article and am reading it. It looks like it is
exactly what I am needing to understand. I am posting here for anyone
that might read this post and be looking for an answer.
http://www.howtocreate.co.uk/referencedvariables.html
Thanks,
Terry
On Dec 5, 2007, at 6:31 AM, Terry Riegel wrote:
> Hello,
>
> Thanks for the responses. I am still very confused. I have never been
> able to get my head around this type of thing. I must be missing
> something. How I would do something like the following, and in the
> process it may answer my first question. (also is there some
> recommended reading I could do on this subject?)
>
> suppose I have something like...
> //global context
> var a="Hello World";
> ...
>
> //local context, not global
> var a="Goodbye World";
> var listener = GEvent.addListener(marker, "click", function()
> { alert(a); });
> a="Last Known";
>
> When the event fires what will be in the alert. And how would I pass
> information from the local context to the alert?
>
>
> In case my contrived example doesn't make sense here is the actual
> code I am struggling with... I would like the alert to show the value
> of i in the local context it is instead showing the last value of i.
>
> for (var i in markers) {
> var where = new GLatLng(markers[i].lat, markers[i].lng);
> var opts = {title: markers[i].title};
> var marker = new GMarker(where, opts);
> map.addOverlay(marker);
> var listener = GEvent.addListener(marker, "click", function()
> { alert(i); });
> }
>
>
>
> Thanks for any help with this.
>
> Terry Riegel
>
>
>
>
> On Dec 4, 2007, at 7:21 PM, Natalie Downe wrote:
>
>> Hello,
>>
>>>> I would like to take the first function() {...} and make it a named
>>>> function, but when I do it I get something like map undefined. How
>>>> do I un-anonymous-ize a function?
>>
>> Where is map being defined? if you do take it out of this add
>> listener
>> call make sure you put it after where 'map' is specified, this could
>> be why you are getting 'map undefined errors. So your code would look
>> something like
>>
>>
>> // somewhere where map is defined
>>
>> // taking out your function into a named function
>> function myNamedFunction () {
>> document.getElementById("mapinfo").innerHTML="Zoom:
>> "+map.getZoom()+" Bounds: "+map.getBounds();
>> GDownloadUrl(url, function(data, status) {
>> markers=eval(data);
>> map.clearOverlays();
>> for (var i in markers) {
>> var where = new GLatLng(markers[i].lat, markers[i].lng);
>> var opts = {title: markers[i].title};
>> var marker = new GMarker(where, opts);
>> map.addOverlay(marker);
>> }
>> });
>> }
>>
>> // add the listner
>> var listener = GEvent.addListener(map, "moveend", myNamedFunction);
>>
>> Kind regards
>> Natalie
>>
>> --
>> Natalie Downe
>> Senior Client-side Engineer - Clearleft <http://www.clearleft.com>
>>
>> <http://notes.natbat.net>
>> _______________________________________________
>> Javascript mailing list
>> Javascript at lists.evolt.org
>> http://lists.evolt.org/mailman/listinfo/javascript
>>
>
> _______________________________________________
> Javascript mailing list
> Javascript at lists.evolt.org
> http://lists.evolt.org/mailman/listinfo/javascript
>
More information about the Javascript
mailing list