Here are some speed tests done in Firefox. IE6 does not exibit same behaviour. Anybody can come up with a 'best practises' rule after looking this please post it.
I'd say, instantate your objects with the same type
before you get/set them within a loop.
| #TEST | FUNCTION |
SECONDS |
| #1 | var _test2={}; %% _test2._value = 123; | 1.139 µs |
| #3 | var _test2={};_test2._value=0; %% _test2._value.mmm = 123; | 36.800 µs |
| #4 | var _test2={};_test2._value=0;_test2._value.mmm=123; %% _test2._value.mmm = 123; | 28.275 µs |
| #5 | var _test2={_value:123}; %% _test2._value.mmm = 123; | 30.300 µs |
| #6 | var _test2={_value:{mmm:123}}; %% _test2._value.mmm = 123; | 1.276 µs |
| #7 | var _test2={};_test2._value={};_test2._value.mmm=123; %% _test2._value['mmm'] = 123; | 1.326 µs |
| #8 | var _test2={};_test2._value={}; %% _test2._value.mmm = 123; | 1.339 µs |