递归的执行机制
function recursiveTest() {
let arr = [1, 2, 3]
const fn = function (i) {
arr[i] *= 10
if(i === arr.length - 1){
return
}
i++
fn(i)
}
fn(0)
}
当调用fn时会在内存中进行压栈,形成一个栈帧,内部调用fn,又产生新的栈帧。

循环的执行机制
function forTest(){
let arr = [1, 2, 3]
let count = arr.length
for(let i = 0; i < count; i++){
arr[i] *= 10
}
}
