Both methods appear to produce the same results, but I\'ve been hard-pressed to actually convince people that the second method works, since it\'s apparently not commonly known.
I'm not sure what everybody else says...but I almost exclusively use your second method there.
Coming from .NET land...it just makes more sense to me and makes things easier to read.
The difference between the two is actually exponential depending on how you are using it.
The first $.each
constitutes a single function call to start the iterator.
The second $(foo.vals).each
makes three function calls to start the iterator. The first is to the $()
which produces a new jQuery wrapper set (Not sure how many other function calls are made during this process). Then the call to $().each
. And finally it makes the internal call to jQuery.each
to start the iterator.
In your example, the difference would be negligible to say the least. However, in a nested use scenario, you might find performance becoming an issue.
Finally, Cody Lindley in jQuery Enlightenment does not recommend using $.each
for iterations greater than 1000 because of the function calls involved. Use a normal for( var i = 0...
loop.