AngularJS

Services: you will be provided with an instance of the function. In other words new FunctionYouPassedToService().

Factory: the value that is returned by invoking the function reference passed to module.factory.

Provider:
you will be provided with ProviderFunction().$get(). The constructor function is instantiated before the $get method is called - ProviderFunction is the function reference passed to module.provider.

Providers have the advantage that they can be configured during the module configuration phase.