Leaking arguments

谁可以帮忙解释一哈 Leaking arguments 的概念

<script>


        Benchmark.prototype.setup = function() {


          

  function otherFunc(a, b) {

    return a + b;

  }

  

  function withArguments(x) {

    var a = arguments;

    return otherFunc.apply(x, Array.prototype.slice.call(a, 1));

  }

  

  function withCopy(x) {

    var a = [];

    var i, len = arguments.length;

    for (i = 1; i < len; i += 1) {

      a[i - 1] = arguments[i];

    }

    return otherFunc.apply(x, a);

  }


富国沪深
浏览 526回答 1
1回答

温温酱

传递arguments给任何方法被称为leaking arguments不幸的是,传递arguments给任何参数,将导致Chrome和Node中使用的V8引擎跳过对其的优化,这也将使性能相当慢。withArguments&nbsp;不会被V8优化,withCopy&nbsp;那种 建议线上环境使用,虽然啰嗦。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript