js for循环的坑(JS之使用递归实现for循环)
js for循环的坑(JS之使用递归实现for循环)function myFor(count callback) { let i = 0 function loop(myCount myCallback) { } loop(count callback) } 第三步,判断条件,确定是否终止递归 function myFor(count callback) { let i = 0 function loop(myCount myCallback) { i // 如果条件达成 终止函数执行 if (i > parseInt(myCount)) return // 在此处执行要做的事情! myCallback() // 疯狂递归中... loop(count ca
第一步,确定需要的参数既然是for循环,肯定需要一个参数来判断循环的次数,其次,我们还需要一个回调函数,在里面写循环需要干什么!
大概就是这样的
function myFor(count callback) { } 第二步,判断循环什么时候终止。
先定义一个变量i i =0
这里需要注意一点就是,我们循环肯定会重置函数,这样的话,i就会被重置,后果就是一直到达不了终止循环的条件,我当时写的时候特智障,函数一直执行不知道为什么,所以在这个函数内部在新建一个函数,我们在这个函数里判断什么时候终止循环(递归)
function myFor(count callback) { let i = 0 function loop(myCount myCallback) { } loop(count callback) } 第三步,判断条件,确定是否终止递归
function myFor(count callback) { let i = 0 function loop(myCount myCallback) { i // 如果条件达成 终止函数执行 if (i > parseInt(myCount)) return // 在此处执行要做的事情! myCallback() // 疯狂递归中... loop(count callback) } loop(count callback) } 检验劳动成果
myFor(5 function() { console.log('我执行了5次吗') })
OK,大功告成