QUnit::equiv optimizations

QUnit::equiv optimizations


in reply to the article at http://philrathe.com/articles/equiv:
in the equiv method there is several times a loop like
34     for (var i = 0; i < len; i++) {
35     eq = eq && equiv(a[i], b[i]);
36     }
37     return eq;
this could be optimized, because if one of the elements is not equal,
you found, that the origin elements aren't equal..
so better use
34     for (var i = 0; i < len && eq; i++) {
35     eq = eq && equiv(a[i], b[i]);
36     }
37     return eq;
see the additional abort condition in the for loop...
This little "trick" could be applied in several places of the
function, e.g.
52     for (var i in a) {
53     if (a.hasOwnProperty(i)) {
54     eq = eq && equiv(a[i], b[i]);
55     }
56     }
59     for (var i in b) {
60     if (b.hasOwnProperty(i)) {
61     eq = eq && equiv(b[i], a[i]);
62     }
63     }
in the for(x in y) there should be a break, since there is no abort
condition.
greets, markus