mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-06-17 02:41:49 +08:00
perf($parse): speed up fn invocation by optimizing arg collection
8-15% improvement for depending on the number of args
This commit is contained in:
@@ -723,14 +723,17 @@ Parser.prototype = {
|
||||
this.consume(')');
|
||||
|
||||
var parser = this;
|
||||
var args = []; // we can safely reuse the array
|
||||
|
||||
return function(scope, locals) {
|
||||
var args = [];
|
||||
var context = contextGetter ? contextGetter(scope, locals) : scope;
|
||||
|
||||
for (var i = 0; i < argsFn.length; i++) {
|
||||
args.push(argsFn[i](scope, locals));
|
||||
|
||||
var i = argsFn.length;
|
||||
while (i--) {
|
||||
args[i] = argsFn[i](scope, locals);
|
||||
}
|
||||
|
||||
var fnPtr = fn(scope, locals, context) || noop;
|
||||
|
||||
ensureSafeObject(context, parser.text);
|
||||
|
||||
Reference in New Issue
Block a user