首页 > 其他 > 详细

for和foreach的一点总结

时间:2016-05-07 13:33:26      阅读:238      评论:0      收藏:0      [点我收藏+]

两者都是数组的循环遍历,但是区别还是有点;

for循环,如果块内有事件操作,那么i是不会等事件操作时候在依次增加,而是一次性走完,,也就是依靠下标定位,下标已经走完了,而foreah是依次增加,它是依靠里面每个元素定位,可能语言不带明白,一个例子说明一下

首先for的例子:

var tag=document.getElementsByTagName("button"),i= 0,len=tag.length;
    for(;i<len;i++){
        (function(i){
            tag[i].onclick=(function(){
                console.log(i)

                console.log(tag[i].innerHTML)
            })
        })(i)
    }
这是经典的闭包实例,如果用for+var,就必须闭包,或者用this,不然报错

再看foreach:

[].slice.call(tag).forEach(function(item,i){
        item.onclick=function(){
console.log(i) console.log(item.innerHTML) } }) 由于foeach是根据每个元素定位,所以正常

  

for和foreach的一点总结

原文:http://www.cnblogs.com/lyz1991/p/5468106.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!