27. function IterateWorkOverCollection2()
{
var funcWork = Work;
var funcWork = Work;
var length = myCollection.length;
for(var i = 0; i < length; i++)
{
funcWork
funcWork(myCollection[i]);
}
}
44. function getElementsByClassName(className, node, tag) {
…
var elements = node.getElementsByTagName(tag);
var elements = node.getElementsByTagName(tag);
var pattern = new RegExp(quot;(^|s)quot; + className +
quot;(s|$)quot;);
elements.length
for(var i = 0, j = 0; i < elements.length; i++) {
elements[i]
if (pattern.test(elements[i].className)) {
classElements[j] = elements[i];
j++;
}
}
return classElements;
}
45. function getElementsByClassName(className, node, tag)
{
…
var results = node.getElementsByTagName(tag);
var elements = new Array(results.length);
var elements = new Array(results.length);
while (length--) elements[length] = results[length];
while (length--) elements[length] = results[length];
var pattern = new RegExp(quot;(^|s)quot; + className +
quot;(s|$)quot;);
for(var i = 0, j = 0; i < elements.length i++) {
elements.length;
elements[i]
if (pattern.test(elements[i].className)) {
classElements.push(results[i]); j++;
}
} return classElements;
}
46.
47. function LoopChildren(elm)
{
var nodes = elm.childNodes;
var length = nodes.length;
for(var i = 0; i < length; i++)
{
var node = nodes[i];
nodes[i];
…
}
}
49. function doValidation2()
{
// Retrieve the required elements by using Selectors
// Selects all form fields with 'required' classes
var reqs = document.querySelectorAll
document.querySelectorAll(quot;.requiredquot;);
// Set the flag to false by default
var missingRequiredField = false;
// Validate that the form data is not empty
for (var i = 0; i < reqs.length; i++) {
if (reqs[i].value == quot;quot;)
missingRequiredField = true;
}
}
50. Use the native JSON object
Turn large switch statements into lookups
Avoid property access methods
Minimize DOM interaction
Use querySelectorAll for groups