本释疑笔记是针对自己在看源码的过程中遇到的一些问题的解答,对大众可能不具有参考性,不过可以看看有没有你也不懂得地方,相互学习,相互进步。

 1、each的用法

之前对each的用法一直迷迷糊糊,这次终于懂了。

源码:

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;
    },
View Code

相关文章:

  • 2021-06-23
  • 2022-01-11
  • 2021-04-05
  • 2020-11-01
  • 2021-06-12
  • 2021-06-18
猜你喜欢
  • 2021-12-11
  • 2021-08-03
  • 2021-07-08
  • 2022-12-23
  • 2021-10-11
  • 2022-01-23
  • 2021-07-06
相关资源
相似解决方案