Maison  >  Questions et réponses  >  le corps du texte

javascript - Fuite d'arguments

Qui peut aider à expliquer le concept de Fuite d'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);
  }
怪我咯怪我咯2669 Il y a quelques jours841

répondre à tous(1)je répondrai

  • 某草草

    某草草2017-07-05 10:44:40

    Passez arguments给任何方法被称为leaking arguments

    Malheureusement, transmettre des arguments à n'importe quel paramètre entraînera l'omission du moteur V8 utilisé dans Chrome et Node de l'optimiser, ce qui ralentira également les performances.

    withArguments 不会被V8优化,withCopy Ce type de méthode est recommandé pour une utilisation dans un environnement en ligne, même si elle est un peu lourde.

    répondre
    0
  • Annulerrépondre