"Bad habit of writing reverse loops:"
for (i = N; i--;)
This is a matter of opinion, but it is actually the opposite of while initializing, so in my opinion this is not a "bad habit". This is just a coding style.
The specification makes for parts optional to give the developer flexibility.
"jsLint certainly don't like it."
Who cares. You are not required to follow the opinions of jsLint.
user1106925
source share