如何在函数返回时避免Javascript垃圾收集

时间:2016-05-07 21:52:56

标签: javascript function garbage-collection

我是否正确地想到了,

  1. 每次调用时,test()都会导出另一个必须在以后进行垃圾回收的新对象。

    var sumValue=test(0,3);
    
    function test(startingValue,n){
        return({sum:startingValue+n});
    }
    
  2. 此版本的test()稍后不需要进行垃圾回收。

    var sumValue={sum:0};
    test(sumValue,3);
    
    function test(output,n){
        output.sum+=n;
    }
    

1 个答案:

答案 0 :(得分:3)

  1. 是的,每次通话都会创建一个新对象。
  2. 是的,因为您只是改变了现有的对象。
  3. 对于这个具体案例,我不担心。它太小而不能产生影响(除非此代码长时间运行多次)。