推断式注入声明
如果没有明确的声明, AngularJS会假定参数名称就是依赖的名称。因此,它会在内部调用
函数对象的toString() 方法,分析并提取出函数参数列表,然后通过$injector将这些参数注入
进对象实例。注入的过程如下:
显式注入声明
可以通过$inject属性来实现显式注入声明的功能。函数对象的$inject属性是一个数组,
数组元素的类型是字符串,它们的值就是需要被注入的服务的名称。
行内注入声明
在定义一个AngularJS的对象时,行内声明的方式允许我们<b>直接传入一个参数数组而不是一
个函数</b>。数组的元素是字符串,它们代表的是可以被注入到对象中的依赖的名字,最后一个参数
就是依赖注入的目标函数对象本身。