mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-03 09:05:37 +08:00
performance improvement of single statement in parser
This commit is contained in:
@@ -325,15 +325,19 @@ function parser(text, json){
|
||||
if (tokens.length > 0 && !peek('}', ')', ';', ']'))
|
||||
statements.push(filterChain());
|
||||
if (!expect(';')) {
|
||||
return function (self){
|
||||
var value;
|
||||
for ( var i = 0; i < statements.length; i++) {
|
||||
var statement = statements[i];
|
||||
if (statement)
|
||||
value = statement(self);
|
||||
}
|
||||
return value;
|
||||
};
|
||||
// optimize for the common case where there is only one statement.
|
||||
// TODO(size): maybe we should not support multiple statements?
|
||||
return statements.length == 1
|
||||
? statements[0]
|
||||
: function (self){
|
||||
var value;
|
||||
for ( var i = 0; i < statements.length; i++) {
|
||||
var statement = statements[i];
|
||||
if (statement)
|
||||
value = statement(self);
|
||||
}
|
||||
return value;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user