aboutsummaryrefslogtreecommitdiffstats
path: root/src/Scope.js
diff options
context:
space:
mode:
authorShyam Seshadri2010-06-02 15:04:26 -0700
committerShyam Seshadri2010-06-02 15:04:26 -0700
commita29c5e4c7fd5e708c28e70e974bf873621d5277c (patch)
tree17efcdc2df48d32a0a928cc2ab755f355e9f6ae1 /src/Scope.js
parent6143b04384680d17f38c2d5894a9b9961ea33288 (diff)
downloadangular.js-a29c5e4c7fd5e708c28e70e974bf873621d5277c.tar.bz2
Revert "removed few key foreach and replaced thime with for loop for performance."
This reverts commit 6143b04384680d17f38c2d5894a9b9961ea33288.
Diffstat (limited to 'src/Scope.js')
-rw-r--r--src/Scope.js21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/Scope.js b/src/Scope.js
index 637fc25e..1c223130 100644
--- a/src/Scope.js
+++ b/src/Scope.js
@@ -53,15 +53,14 @@ function getterFn(path){
var code = 'function (self){\n';
code += ' var last, fn, type;\n';
foreach(path.split('.'), function(key) {
- key = (key == 'this') ? '["this"]' : '.' + key;
code += ' if(!self) return self;\n';
code += ' last = self;\n';
- code += ' self = self' + key + ';\n';
+ code += ' self = self.' + key + ';\n';
code += ' if(typeof self == "function") \n';
- code += ' self = function(){ return last'+key+'.apply(last, arguments); };\n';
- if (key.charAt(1) == '$') {
+ code += ' self = function(){ return last.'+key+'.apply(last, arguments); };\n';
+ if (key.charAt(0) == '$') {
// special code for super-imposed functions
- var name = key.substr(2);
+ var name = key.substr(1);
code += ' if(!self) {\n';
code += ' type = angular.Global.typeOf(last);\n';
code += ' fn = (angular[type.charAt(0).toUpperCase() + type.substring(1)]||{})["' + name + '"];\n';
@@ -124,13 +123,11 @@ function createScope(parent, services, existing) {
if (exp !== undefined) {
return expressionCompile(exp).apply(instance, slice.call(arguments, 1, arguments.length));
} else {
- for ( var i = 0, iSize = evalLists.sorted.length; i < iSize; i++) {
- for ( var queue = evalLists.sorted[i],
- jSize = queue.length,
- j= 0; j < jSize; j++) {
- instance.$tryEval(queue[j].fn, queue[j].handler);
- }
- }
+ foreach(evalLists.sorted, function(list) {
+ foreach(list, function(eval) {
+ instance.$tryEval(eval.fn, eval.handler);
+ });
+ });
}
},