我正在细读 AngularJS 源代码,不禁注意到以下几点:
_angular = window.angular,
/** @name angular */
angular = window.angular || (window.angular = {}),
这一行对我来说很有意义:
angular = window.angular || (window.angular = {}),
“如果已经在窗口中定义(从先前的包含?),则使用 Angular ,或者将 window.angular 分配给一个空对象并将 Angular 局部变量设置为 window.angular。”
一些问题:
- 为什么 window.angular 已经被定义(除了明显的情况,有人已经包含它),我们为什么要关心?
- 为什么要分配 _angular 和 angular?
最佳答案
查看 GitHub 上的提交历史,这是针对 noConflict
模式的,在这种情况下,您对要保留的名为 angular
的变量有一个旧引用。
这是 commit that added _angular
in .
该功能随后被删除in this commit并且 _angular
引用在这一点上是多余的。
我会在 GH 上提出问题或很快提出拉取请求。更新 - 进行了 PR。
关于AngularJS 中的 JavaScript 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249952/