Допустим есть такая функция:
foo( function($a, $b, $c) {
// если бы я взял например первый аргумент, не $a
//,а другой $name, например, то первый аргумент бы имел другое значение. Как ангуляр делает
console.log($a, $b, $c);
} );
Update.
Вот более наглядный пример: если бы мы передали ни $scope, $element и $attrs, а другие переменные то и значения были бы другие.
То есть значение передается не по порядку, а по имени переменной.
То есть если даже передать имя переменных в разном порядке, то ничего не изменится
app.controller('myCtrl', function($scope, $element, $attrs) {
})