AngularJS中的JavaScript变量声明

Cal*_*dge 5 javascript angularjs

我正在仔细阅读AngularJS源代码,不禁注意到以下几点:

_angular          = window.angular,
/** @name angular */
angular           = window.angular || (window.angular = {}),
Run Code Online (Sandbox Code Playgroud)

这条线对我有意义:

angular           = window.angular || (window.angular = {}),
Run Code Online (Sandbox Code Playgroud)

"在窗口中使用已定义的角度(来自先前的包含?),或者将window.angular指定给空对象并将角度局部变量设置为window.angular."

一些问题:

  1. 为什么window.angular已经被定义(除了显而易见的某个人已经包含它),为什么我们会关心?
  2. 为什么分配_angular和angular?

Ben*_*aum 3

查看 GitHub 上的提交历史记录,这是针对模式的,在这种情况下,您有一个对名为您想要保留的noConflict变量的旧引用。angular

这是添加_angular到 中的提交。

该功能随后在此提交中被删除,并且_angular此时引用是多余的。

我会在 GH 上提出问题或很快提出拉取请求。更新 - 做了一个 PR。