title: How do the function argument names in Angular.js objects connect to other objects?
body: <p>Let's say I have made a module with a service and a controller in Angular.js, I am able to access that service inside of the controller like so:</p>
  
  <pre><code>var myapp = angular.module('my-app', []);
  
  myapp.factory('Service', function() {
    var Service = {};
    Service.example = 'hello';
    //etc..
    return Service;
  });
  
  myapp.controller('mainController', function($scope, Service) {
    $scope.greeting= Service.example;
  });
  </code></pre>
  
  <p>In this example, the Service object will be passed to the controller, and structuring the code like so will not change the behavior of the code:</p>
  
  <pre><code>myapp.controller('mainController', function(Service, $scope) {
    $scope.greeting= Service.example;
  });
  </code></pre>
  
  <p>so, how does Angular.js "know" what the function arguments mean?</p>