Javascript 这两个角度控制器的功能有什么不同吗

Javascript 这两个角度控制器的功能有什么不同吗,javascript,angularjs,Javascript,Angularjs,我正在努力学习Angular,我遇到过很多不同的例子,人们用这些方式格式化他们的控制器。功能上有区别吗 var app = angular.module('myApp', []); app.controller('myCtrl', [ '$scope', function($scope){ $scope.firstName = "John"; $scope.lastName = "Doe"; }]); 及 功能一开始看起来是一样的,但是第一段代码是利用依赖注入 简而言之,通过包含“[

我正在努力学习Angular,我遇到过很多不同的例子,人们用这些方式格式化他们的控制器。功能上有区别吗

var app = angular.module('myApp', []);
app.controller('myCtrl', [
'$scope',
function($scope){
  $scope.firstName = "John";
  $scope.lastName = "Doe";
}]);


功能一开始看起来是一样的,但是第一段代码是利用依赖注入

简而言之,通过包含“['$scope',”可以确保angular在控制器函数要求时能够解决正确的依赖关系

我自己更喜欢使用约翰·帕帕的《角度风格指南》中列出的手动注射方法,这对我来说更有意义()


控制器的名称。$inject=['$scope'];

缩小代码时有一个细微但非常重要的区别。请参阅。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});