From cb62a57d438f94dff32218ba095a6a63b1db958f Mon Sep 17 00:00:00 2001 From: Robin Böhm Date: Sun, 28 Apr 2013 20:05:44 +0200 Subject: refact(ngClass): improve performance through bitwise operations Change modulo % 2 operations to bitwise & 1 Read about this in Nicholas C. Zakas book "High Performance JavaScript"(ISBN: 978-0-596-80279-0) Use the Fast Parts --> Bitwise Operators --> Page 156++ Proven at http://jsperf.com/modulo-vs-bitwise/11 --- src/ng/directive/ngClass.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ng/directive/ngClass.js b/src/ng/directive/ngClass.js index 435907af..e936ee22 100644 --- a/src/ng/directive/ngClass.js +++ b/src/ng/directive/ngClass.js @@ -15,9 +15,9 @@ function classDirective(name, selector) { if (name !== 'ngClass') { scope.$watch('$index', function($index, old$index) { - var mod = $index % 2; - if (mod !== old$index % 2) { - if (mod == selector) { + var mod = $index & 1; + if (mod !== old$index & 1) { + if (mod === selector) { addClass(scope.$eval(attr[name])); } else { removeClass(scope.$eval(attr[name])); -- cgit v1.2.3