迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
jQuery的$.each
是一个典型的迭代器模式实现:
$.each = function( obj, callback ){
var value,
i=0,
length=obj.length,
isArray = isArrayLike( obj );
if( isArray ){
for( ; i<length; i++ ){
value = callback.callback(obj[i], i , obj[i]);
if( value===false ){
break;
}
}
}else{
for( i in obj ){
value = callback.callback(obj[i], i , obj[i]);
if( value===false ){
break;
}
}
}
return obj;
}
网友评论