设计模式之迭代器模式
迭代器模式
指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
迭代器模式可以把迭代的过程从业务逻辑中分离出来,使用迭代器模式后,即使不关心对象的内部结构,也可以安顺序访问其中的每个元素
jq中的迭代器
迭代器模式无非就是循环访问聚合对象中的每个元素。比如 each函数 其中的回调函数的参数
$.each([1,2,3],function(i,n){
console.log('当前下标'+i)
console.log('当前元素'+n)
})
实现自己的迭代器
分析jq的each函数,实现自己的函数
each函数 接受两个参数 第一个是被循环的数组 ,第二个是回调函数 每次循环都会被触发
let each=function(arr,callback){
for(var i = 0,j=arr.length;i<j; i++){
callback.call(arr[i],i,arr)
}
}
each([1,2,3],function(i,n){
console.log('当前下标'+i)
console.log('当前元素'+n)
})