问答详情
源自:2-2 图片预加载实现

为什么用for in 、& 而不用for 、&&

1.为什么用for in而不用for,for in的话还得用hasOwnProperty,这不是麻烦了? 用for in 有什么好处?

2.为什么 用 & 而不是用常用 && 操作符?  


提问者:GapYear 2017-04-10 12:32

个回答

  • 桃太郎
    2017-07-11 00:17:56

    执行下面三段代码,便会明白一些区别

        var array=['a'];
        Array.prototype.test=function(){};
        array.loady = 'ask';
        /*标准的for循环*/
        for(var i=0;i<array.length;i++){
             alert(i);
         }
         //////
        var array=['a'];
        Array.prototype.test=function(){};
        array.loady = 'ask';
         for(var i in array){
            alert(i);
          }
          ///////
        var array=['a'];
        Array.prototype.test=function(){};
        array.loady = 'ask';
         for(var i in array){
            if(!array.hasOwnProperty(i)){
               continue;
            }
            alert(i);
          }


  • 慕沐9823379
    2017-04-24 14:51:50

    参照javascript权威指南的:使用for、in循环可以在循环体遍历对象中所有的可枚举的属性,也就是包括自有属性和继承属性,把属性名称赋值给循环变量;而hasOwnProperty方法可以用来检测给定的名字是否是对象的自有属性,通过以上两步筛选,可以筛选出对象具有的自有属性,也就是期望的格式object:{src:xxx}.我是新手,以上是我自己推断的,如有错误,见谅