js迭代器迭代类数组和字面量对象

来源:互联网 发布:有秒杀软件吗 编辑:程序博客网 时间:2024/05/29 16:57
<h1>迭代类数组对象和字面量对象</h1>   <p>迭代器模式不仅可以迭代数组,还可以迭代一些类数组的对象 。比如,arguments、{"a":"a1","b","b1"}等。通过上面的代码可以观察到,   无论是内部迭代还是外部迭代,只要被迭代的聚合对象拥有length属性而且可以用下标访问,那他就可以被迭代。</p>   <p>JavaScript中,for in 语句可以用来迭代普通字面量对象的属性。jQuery中提供了$.each()函数来封装各种迭代行为。<p>   <script>      $.each = function( obj, callback ){         var value,             i = 0,             length = obj.length,             isArray = isArraylike( obj );                          if( isArray ){  //迭代类数组                for( ; i <length; i++){                   value = callback.call( obj[i], i, obj[i] );                                      if( value === false ){                      break;                   }                }             }else{                for( i in obj ){  //迭代object对象                   value = callback( obj[i], i , obj[i] );                                      if( value === false ){                      break;                   }                }             }                          return obj;      }   </script>

0 0