• 喜欢前端以及PHP的朋友们可以加PHP同好会QQ群 点击加入qq群
  • 最近在写一个项目---"小A微信托管平台",大家可以去帮忙测试一下!功能在不断完善中,敬请关注!点击进入
  • 本站使用了PHP8.1与HTTP2.0协议,速度简直超级快有木有?

javascript设计模式之迭代器模式

前端 Mr.Adam 8年前 (2017-08-08) 2369次浏览 已收录 0个评论

javascript 设计模式之迭代器模式

javascript 设计模式之迭代器模式

迭代器模式是指提供一种方法访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示.迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素.

jquery 中的迭代器

迭代器模式无非就是循环访问聚合对象中的各个元素.我们来看一个最常见的迭代器,jquery 中的$.each 函数

$.each([1,2,3],function(i,n){
    console.log('当下是第'+i+'个元素');
    console.log('当前值为'+n);
});

现在我们来自己实现一个 each 函数,each 函数接收 2 个参数,第一个为被循环的数组,第二个为循环中的每一步后被处罚的回调函数

var each = function( ary,callback ){
	for(var i=0,l=ary.length;i<l;i++){
		callback.call(ary[i],i,ary[i]);//把下标和元素当做参数传给 callback 函数
	}
}
each([{name:"a"},{name:"b"},{name:"c"}],function(i,n){
    console.log([i,n]);
    console.log(this);
});

小 A 空间 , 版权所有丨如未注明转载 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明javascript 设计模式之迭代器模式
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址