The short answer is yes.
Longer answer. Context.prototype.lookup executes a while loop, looking at the token in the current context and its parent contexts, while there is a parent context.
Corresponding bit of code:
Context.prototype.lookup = function (name) { var value = this._cache[name]; if (!value) { if (name === ".") { value = this.view; } else { var context = this; //Iterate ancestor contexts while (context) { if (name.indexOf(".") > 0) { var names = name.split("."), i = 0; value = context.view; while (value && i < names.length) { value = value[names[i++]]; } } else { value = context.view[name]; } if (value != null) { break; } context = context.parent; } } this._cache[name] = value; } if (typeof value === "function") { value = value.call(this.view); } return value; };
soulcheck
source share