首页 > 解决方案 > 循环内的 JS 函数 - 内存/CPU注意事项

问题描述

有人可以告诉我这是否对 CPU 或内存有任何影响?

    Object.keys(app.crypto).forEach(symbol => {
        txRec(0, symbol, tx_recs)
        function txRec(tx_index, symbol, tx_recs) {
           ...
        }
    })

对比

    Object.keys(app.crypto).forEach(symbol => {
        txRec(0, symbol, tx_recs)
    })
    function txRec(tx_index, symbol, tx_recs) {
      ...
    }

我当然选择了后者,因为它对我来说更自然。在第一种情况下,似乎在循环中重新声明了该函数。有没有人对此有任何煽动?只是好奇。

标签: javascriptfunctionclosures

解决方案


似乎该函数正在循环中重新声明

不,它可能会创建一个关闭,但在你的情况下那不太可能。在一个好的 js 引擎中,差异会被优化掉,并且两者是完全相等的。


推荐阅读