js 中的嵌套函数会被算作多次运行,而被优化吗?

JS 引擎如 V8 会对一次、几次、很多次运行过的函数进行不同程度的优化:

function outer (arg) {
    function inner (arg) {}
    inner(arg);
}

外面的 outer 在多次运行后会被优化;但是里面的 inner 函数呢?

也会被优化,还是说每次都算新的所以不优化?

阅读 1.9k
1 个回答

你的优化是指内存回收么,你这样写的话是正常会被优化,但是当内部函数被闭包引用时就不会被优化,例如:

let c =function outer (arg) {
    function inner (arg) {}
    return inner(arg);
}
推荐问题