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;
}

它本质上与原生 javascript 示例相同,只是这次添加了 jQuery 膨胀。iPad怎么可能跑得这么快?

我缩小并优化了 2 个原生样本并重新运行了测试,但变化可以忽略不计。

在这种情况下,为什么 jQuery 比 iPad 上的原生 javascript 更快?

4

0 回答 0