It's true that every browser supports for (duh!), but experience proved that something that iterates over a collection for us is simpler as it doesn't force us to take care of a variable for counting, while the (relatively) complex - although well-known - syntax of for is prone to mistakes. a simple for statement would have worked. Quite heavy when it comes to memory consumption and CPU usage.Ĭonclusion: use document.querySelectorAll instead (which returns a NodeList). Syntax and Parameters of a forEach () Loop Here are the standard ways of writing the forEach Loop: array.forEach(callbackFunction) array.forEach(callbackFunction, thisValue) The callback function can accept up to three different arguments, though not all of them are required. It's a live collection that gets updated when the DOM changes. and something that should be avoided in general. Now, the former does have forEach defined - but it's pretty much the only array method that has been added to its prototype so far.īut it's only a relatively recent addition, so older browsers don't support it - fortunately, the Array#forEach trick works pretty well, down to sufficiently old Internet Explorer versions (probably 6? 5.5? The heck am I saying, that could work for slice, but forEach was added only in IE9.).Ī HTMLCollection is a totally different beast. A small correction: you used document.getElementsB圜lassName which does not return a NodeList but a HTMLCollection.
0 Comments
Leave a Reply. |