@@ -294,11 +294,10 @@ jQuery.extend({
294
294
} ,
295
295
296
296
each : function ( obj , callback ) {
297
- var i = 0 ,
298
- length = obj . length ,
299
- isArray = isArraylike ( obj ) ;
297
+ var length , i = 0 ;
300
298
301
- if ( isArray ) {
299
+ if ( isArrayLike ( obj ) ) {
300
+ length = obj . length ;
302
301
for ( ; i < length ; i ++ ) {
303
302
if ( callback . call ( obj [ i ] , i , obj [ i ] ) === false ) {
304
303
break ;
@@ -327,7 +326,7 @@ jQuery.extend({
327
326
var ret = results || [ ] ;
328
327
329
328
if ( arr != null ) {
330
- if ( isArraylike ( Object ( arr ) ) ) {
329
+ if ( isArrayLike ( Object ( arr ) ) ) {
331
330
jQuery . merge ( ret ,
332
331
typeof arr === "string" ?
333
332
[ arr ] : arr
@@ -405,14 +404,13 @@ jQuery.extend({
405
404
406
405
// arg is for internal usage only
407
406
map : function ( elems , callback , arg ) {
408
- var value ,
407
+ var length , value ,
409
408
i = 0 ,
410
- length = elems . length ,
411
- isArray = isArraylike ( elems ) ,
412
409
ret = [ ] ;
413
410
414
411
// Go through the array, translating each of the items to their new values
415
- if ( isArray ) {
412
+ if ( isArrayLike ( elems ) ) {
413
+ length = elems . length ;
416
414
for ( ; i < length ; i ++ ) {
417
415
value = callback ( elems [ i ] , i , arg ) ;
418
416
@@ -493,13 +491,13 @@ function(i, name) {
493
491
class2type [ "[object " + name + "]" ] = name . toLowerCase ( ) ;
494
492
} ) ;
495
493
496
- function isArraylike ( obj ) {
494
+ function isArrayLike ( obj ) {
497
495
498
496
// Support: iOS 8.2 (not reproducible in simulator)
499
497
// `in` check used to prevent JIT error (gh-2145)
500
498
// hasOwn isn't used here due to false negatives
501
499
// regarding Nodelist length in IE
502
- var length = "length" in obj && obj . length ,
500
+ var length = ! ! obj && "length" in obj && obj . length ,
503
501
type = jQuery . type ( obj ) ;
504
502
505
503
if ( type === "function" || jQuery . isWindow ( obj ) ) {
0 commit comments