[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