【发布时间】:2013-10-07 17:21:09
【问题描述】:
(function(){
var outer = 'foo';
(function(){
var inner = 'bar';
return [inner, outer];
})();
})();
上面的代码创建了一个缓慢的分辨率,因为内部函数#outer 需要首先检查最近的对象并查看它不包含'outer',然后在下一级作用域链中查找变量。
以下角度代码的行为方式是否完全相同?如果是这样,那么我们应该注意范围创建和范围链变量查找吗?
angular.module('app', [], function($rootScope){
$rootScope.rootVar = 'root Variable';
})
.controller('ctrl1', function($scope){
$scope.var1 = rootVar;
})
.controller('ctrl2', function($scope){ //nested
$scope.var2 = rootVar;
})
【问题讨论】:
-
在您的示例中,rootVar 不应作为独立变量使用,只能作为 $scope 上的属性使用
标签: javascript angularjs optimization scope