In the language, things I don't like include.
for(x in y) construct applies to Objects and can't be overloaded, so it doesn't do the right thing for arrays and you still need to write for (var i=0; i<arr.length;i++) ad infinitumwatch property which is similar to tie-ing writes to an object, but I can't find a similar way to tie reads.+ is overloaded to mean string concatenate. To add 2 variables you need to do
something like var1 -0 + var2 (subtracting 0, of course, to coerce it into a number, because doing +0 would just append "0" if var1 is a string)
javascript for/in (Score:1)
For an array, for/in iterates over indices. Weird, but fine. It's a fair shorthand for a three-part for. The problem is with Array-like objects like, say, nodeList. A node list is supposed to act just like an Array, but for/in will iterate over a nodeList's attributes, not its elements. Argh! JS needs real iterators.
rjbs
Re:javascript for/in (Score:1)
You could give nodeList'd prototype a different method which does the right thing there. (Not that I've tested - actually, if nodeList is a native code object then adding a javascript prototype method might not do anything at
osfameron
Aristotle's idea (Score:1)
broquaint out