0

私はこのベンチマークを理解しようとしています:

http://jsperf.com/for-vs-jq-inarray

このテストは、iPad では jQuery オプションの方が高速に実行されることを示唆しています。iPad で実行した結果、これが証明されました。しかし、なぜ?!

jQuery inArray は次のとおりです。

inArray: function( elem, arr, i ) { var len;

    if ( arr ) {
        if ( core_indexOf ) {
            return core_indexOf.call( arr, elem, i );
        }

        len = arr.length;
        i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;

        for ( ; i < len; i++ ) {
            // Skip accessing in sparse arrays
            if ( i in arr && arr[ i ] === elem ) {
                return i;
            }
        }
    }

    return -1;
}

今回は jQuery の肥大化が追加されていることを除けば、基本的にはネイティブ JavaScript サンプルと同じです。iPad がこれほど高速に動作するのはどうしてでしょうか?

2 つのネイティブ サンプルを縮小および最適化し、テストを再実行しましたが、変更はほとんどありませんでした。

この場合、jQuery が iPad のネイティブ JavaScript よりも速いのはなぜですか?

4

0 に答える 0