Yup, that helps. The object methods is really good to know. I don't need it yet, but it looks very useful.
The hand-rolled loop is what I am doing now and it works great. I've been using D3.js a lot and have become a fan of the loop-less data interaction with modular data processing functions. For instance, random values like this would be trivial.
function randomNumber(min, max){
return Math.floor(Math.random() * (1 + max - min) + min);
}
tl.to(divs, 5, {x:randomNumber.bind(0,100)});
Writing explicit loops works perfectly fine. The above approach is merely semantic sugar. Thought I'd ask because I have a sweet tooth.