Maison > Questions et réponses > le corps du texte
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);
}
某草草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.