编写js时减少DOM操作的详解

闲话不再多说了,上代码:

 

<body>
    <div id='container'></div>
</body>
<script src='jQuery-3.0.0.js'></script>
<script>
    var arr = ['QWERTY','ASDFGH','ZXCVBN'];
    for(var i=0 ; i<arr.length;i++){
        $('#container').append('<div>'+arr[i]+'</div>');
    }
</script>

这是一段js代码,为了减少代码量,这里引用了jQuery。从上面的代码可以看出来,代码每循环一次就将一个节点添加到DOM上,arr数组中有三个元素,以上添加节点的操作进行了三次。如果数组中有100个元素,有1000个元素,某些应用场景中一个数组可能会存上万甚至更多的元素,如果是这样,代码的执行效率就太低了。其实我们可以换个思路,代码如下:

 

<body>
    <div id='container'></div>
</body>
<script src='jQuery-3.0.0.js'></script>
<script>
    var arr = ['QWERTY','ASDFGH','ZXCVBN'];
    var str = '';
    for(var i=0 ; i<arr.length;i++){
        str+='<div>'+arr[i]+'</div>';
    }
    $('#container').append(str);
</script>

改变后的代码只做一次添加节点的操作,这样就减少了对MOD的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值