鍍金池/ 問(wèn)答/HTML/ $.each源碼疑問(wèn)

$.each源碼疑問(wèn)

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 ] ),第二個(gè)obj[ i ]有什么意義

回答
編輯回答
尐潴豬

這是jQuery官網(wǎng)上的一個(gè)示例

$.each([ 52, 97 ], function( index, value ) {
  alert( index + ": " + value );
});

對(duì)于value = callback.call( obj[ i ], i, obj[ i ] );,第一個(gè)obj[i]代表函數(shù)的this,后面兩個(gè)參數(shù)分別代表indexvalue

2018年3月29日 02:36
編輯回答
淺淺

那this綁定了別的你怎么取值?

2017年8月4日 22:57