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);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题