[Mapbender-dev] Re: [Mapbender] #120: replace ["..."] with dot notation in JS

Christoph Baudson (WhereGroup) christoph.baudson at wheregroup.com
Tue Oct 16 10:02:08 EDT 2007


Yes, at some points Mapbender uses arrays where objects should be used; 
this is definitely faulty.

There are two reasons why I think the dot notation is superior

1) Using x = {} and then x["key"] is misleading: the square brackets 
indicate it's an array, but it really is an object.

2) JSLint recommends dot notation (and I am a blind follower)

Marc, if you have any arguments pro brackets, please share them with us. 
I would like to see all sides to the issue.

Thanks

Christoph

Marc Jansen schrieb:
> Hi Christoph,
>
> I thought that the root of the failure might be the (IMHO) incorrect 
> usage of arrays in Javascript. Correct me if I'm but AFAIK there are 
> no associative arrays within javascript. The purpose of these are 
> handles by objects. I know that object have some disadvantages -- e.g. 
> they are missing the length property.
>
> I personally favor the bracketed syntax, but thats a sole personal 
> preference.
>
>
> -- Marc
>
> Christoph Baudson (WhereGroup) schrieb:
>> Sorry for the last post. Ignore it. Too much copy and paste for any 
>> human to handle. Here's the version I intended to post
>>
>> -- 
>>
>> To illustrate the difference, an example
>>
>> Does not work with toJSONString()
>>
>>        currentLayer.layer_style[count] = [];
>>        currentLayer.layer_style[count]["name"] = styleName;
>>        currentLayer.layer_style[count]["title"] = styleTitle;
>>        currentLayer.layer_style[count]["legendurl"] = styleLegendUrl;
>>        currentLayer.layer_style[count]["legendurlformat"] = 
>> styleLegendUrlFormat;
>>
>> Does work
>>
>>        currentLayer.layer_style[count] = {};
>>        currentLayer.layer_style[count].name = styleName;
>>        currentLayer.layer_style[count].title = styleTitle;
>>        currentLayer.layer_style[count].legendurl = styleLegendUrl;
>>        currentLayer.layer_style[count].legendurlformat = 
>> styleLegendUrlFormat;
>>
>> May work, not tried (curly brackets in line 1)
>>
>>       currentLayer.layer_style[count] = {};
>>       currentLayer.layer_style[count]["name"] = styleName;
>>       currentLayer.layer_style[count]["title"] = styleTitle;
>>       currentLayer.layer_style[count]["legendurl"] = styleLegendUrl;
>>       currentLayer.layer_style[count]["legendurlformat"] = 
>> styleLegendUrlFormat;
>> _______________________________________________
>> Mapbender_dev mailing list
>> Mapbender_dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapbender_dev
>>
>
> _______________________________________________
> Mapbender_dev mailing list
> Mapbender_dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_dev


-- 
***************************************
Where2B-Konferenz 
Die Lösungskonferenz der WhereGroup
am 29. November 2007 in Bonn
http://www.where2b-conference.com
***************************************
_______________________________________

W h e r e G r o u p GmbH & Co. KG

Siemensstraße 8
53121 Bonn
Germany

Christoph Baudson
Anwendungsentwickler

Fon: +49 (0)228 / 90 90 38 - 17
Fax: +49 (0)228 / 90 90 38 - 11
olaf.knopp at wheregroup.com
http://www.wheregroup.com
Amtsgericht Bonn, HRA 6788
_______________________________________

Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Arnulf Christl, Olaf Knopp, Peter Stamm
_______________________________________



More information about the Mapbender_dev mailing list