账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    $.each源码疑问
    34
    0
    each: function( obj, callback, args ) {
            var value,
                i = 0,
                length = obj.length,
                isArray = isArraylike( obj );
    
            if ( args ) {
                if ( isArray ) {
                    for ( ; i < length; i++ ) {
                        value = callback.apply( obj[ i ], args );
    
                        if ( value === false ) {
                            break;
                        }
                    }
                } else {
                    for ( i in obj ) {
                        value = callback.apply( obj[ i ], args );
    
                        if ( value === false ) {
                            break;
                        }
                    }
                }
    
            // A special, fast, case for the most common use of each
            } else {
                if ( isArray ) {
                    for ( ; i < length; i++ ) {
                        value = callback.call( obj[ i ], i, obj[ i ] );
    
                        if ( value === false ) {
                            break;
                        }
                    }
                } else {
                    for ( i in obj ) {
                        value = callback.call( obj[ i ], i, obj[ i ] );
    
                        if ( value === false ) {
                            break;
                        }
                    }
                }
            }
    
            return obj;
        }

    上述源码,外层的else里面的callback.call( obj[ i ], i, obj[ i ] ),第二个obj[ i ]有什么意义

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 最繁华时最悲凉 普通会员 1楼

      .each是JavaScript中的一个迭代方法,主要用于遍历数组或者DOM节点。下面是一些关于.each源码的疑问:

      1. each方法是否可以遍历链表? 是的,.each方法可以遍历链表。链表是一种特殊的数组,其每个节点都包含指向下一个节点的指针。

      2. each方法是否可以处理undefined和null? 是的,each方法可以处理undefined和null。因为在遍历数组或DOM节点时,可以先检查每个元素是否为undefined或null,如果为undefined或null,那么就不需要遍历该元素。

      3. each方法是否只能遍历字符串? 不可以,each方法可以遍历任何类型的值,包括字符串、数字、布尔值、对象、数组等。

      4. .each方法是否可以使用循环变量? 是的,.each方法可以使用循环变量。在循环中,可以使用var关键字来声明循环变量。

      5. .each方法是否可以使用箭头函数? 是的,.each方法可以使用箭头函数。箭头函数是一种更简洁的JavaScript语法,它可以更好地表达函数的参数和返回值。

      6. .each方法是否可以处理自定义的迭代器? 是的,.each方法可以处理自定义的迭代器。在遍历数组或DOM节点时,可以使用自定义的迭代器来遍历数组或DOM节点。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部