From 6af2ff2c7d6dfef07f477ab2649ab610ea82b2aa Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 12 Sep 2014 16:06:12 +0200 Subject: [PATCH] refactor($parse): clean up object literal fn No measurable impact on performance --- src/ng/parse.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/ng/parse.js b/src/ng/parse.js index cc0e9ba8..42249d9d 100644 --- a/src/ng/parse.js +++ b/src/ng/parse.js @@ -789,7 +789,7 @@ Parser.prototype = { }, object: function () { - var keyValues = []; + var keys = [], valueFns = []; var allConstant = true; if (this.peekToken().text !== '}') { do { @@ -797,11 +797,11 @@ Parser.prototype = { // Support trailing commas per ES5.1. break; } - var token = this.expect(), - key = token.string || token.text; + var token = this.expect(); + keys.push(token.string || token.text); this.consume(':'); var value = this.expression(); - keyValues.push({key: key, value: value}); + valueFns.push(value); if (!value.constant) { allConstant = false; } @@ -811,9 +811,8 @@ Parser.prototype = { return extend(function $parseObjectLiteral(self, locals) { var object = {}; - for (var i = 0, ii = keyValues.length; i < ii; i++) { - var keyValue = keyValues[i]; - object[keyValue.key] = keyValue.value(self, locals); + for (var i = 0, ii = valueFns.length; i < ii; i++) { + object[keys[i]] = valueFns[i](self, locals); } return object; }, {