我正在仔细阅读AngularJS源代码,不禁注意到以下几点:
_angular = window.angular,/** @name angular */ angular = window.angular || (window.angular = {}),
这条线对我有意义:
angular = window.angular || (window.angular = {}),
“在窗口中使用已定义的角度(来自先前的包含?),或者将window.angular指定给空对象并将角度局部变量设置为window.angular.”
一些问题:
>为什么window.angular已经被定义(除了显而易见的某人已经包含它),为什么我们会关心?
>为什么分配_angular和angular?
通过GitHub上的提交历史记录,这是针对noConflict模式的,在这种情况下,你有一个旧的引用,你想要保留一个名为angular的变量.
这是commit that added _angular
in.
然后删除了该功能in this commit,此时_angular参考是多余的.
我会提出关于GH的问题或很快提出拉动请求.更新 – 做了公关.