浏览 5387 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-27
有点害怕,我在JSI中可是用了不少,呵呵。 测试一下,负担终于可以放下来了: 测试对象: 一个对象模拟map,测试for in 循环 两个数组,测试for(;;)循环 连续4次运行时间比。 957/1278;955/1357;1014/1282;968/1392 明显,要实现类似map的功能,还是for in 快点。 上面的数据是ff2上的结果,ie7上也差不多,差距更小一点。 测试代码: js 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-28
确实如此。关于js的效率问题,存在一些误解。例如有人认为各种循环中while最快,又说for中用--i最快,i--慢,i++最慢。但是实际测试的结果并非如此,即使有差距也可忽略不计。
又,我曾经写过好几个版本的map,包括用数组的(使用indexOf,但ie需自行模拟)、用链表(对象上使用一个特别约定的属性指向下一个)的,以及用in的。最后是用in的最快,当然有个限制就是只能是字符串作key,而前两者是真正的map。 |
|
返回顶楼 | |