find 和 DOM遍历孰快孰慢~

做个无聊的测试,测试下,$('.XX .CCC') 和 $('.XX').find('.CCC')这两个谁快谁慢。。。

我想我今天肯定是闲死了。。

不过有个好玩的发现。但是我这个只是一个简单的例子,不能用大数据做统计分析。。只能说代表了一种现象。

页面结构:

 View Code

JS:

View Code 

10万次遍历的测试结果:

1: 1427956016805
2: 796
3: 692
1: 1427956018293
2: 803
3: 1077

可以看到:1. 通过id获取某个class的子节点,直接遍历比find要慢;

2. 通过class获取某个class的子节点,直接遍历比find要快很多。

3. 通过class获取某个class的子节点,比通过id获取某个class的子节点,要慢;

为此做了另外一个测试,把标识为a的id 和 class调换了位置;

10万次遍历的测试结果是:

1: 1427956790018
2: 783
3: 613
1: 1427956791414
2: 771
3: 1063

还可以看出来,1、2、3成立; 

4. 通过class获取某个class的子节点,与位移有关系~~,尽量比较靠近,速度比较快~~

好吧,无聊的测试~~权作消遣~。权衡之,还是使用 class.class 这类来搞定~~ 

原文地址:https://www.cnblogs.com/hanyuxinting/p/4386933.html