Test case details

Preparation Code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script> <script src="http://cdn.sencha.io/ext-4.1.0-gpl/ext-all.js"> </script> <script src="https://raw.github.com/bestiejs/lodash/v0.8.2/lodash.min.js"></script> <script>var lodash = _.noConflict(); </script> <script src="https://raw.github.com/documentcloud/underscore/master/underscore.js"> </script> <script>   $.fn.forEach = Array.prototype.forEach;   var extArrayEach = Ext.Array.each;   Array.prototype.each = function(func){       var array = this,           i = 0,           l = array.length;       while(i < l) func(array[i], i, array), i++;       return array     };  var breaker = {};   _.forEach = function(obj, iterator, context) {     if (obj == null) return;     if (obj.length === +obj.length) {       for (var i = 0, l = obj.length; i < l; i++) {         if (iterator.call(context, obj[i], i, obj) === breaker) return;       }     } else {       for (var key in obj) {         if (_.has(obj, key)) {           if (iterator.call(context, obj[key], key, obj) === breaker) return;         }       }     }   };   //a static array.   var a = [];   for (var i = 0, len = 100; i < len; i++) {     a[i] = i;   } </script>

Test cases

Test #1

$.each(a, function(index, node) {  var e = node; });

Test #2

for (var i = 0, len = a.length; i < len; i++) {  var e = a[i]; };

Test #3

a.forEach(function(node, index){  var e = node; });

Test #4

extArrayEach(a, function(index, node) {  var e = node; });

Test #5

a.each(function(node){   var e = node; })

Test #6

_.each(a, function(node, index){   var e = node; })

Test #7

_.forEach(a, function(node, index){   var e = node; })

Test #8

lodash.forEach(a, function(node, index){     var e = node; });