AngularJS 中的 JavaScript 变量声明

标签 javascript angularjs

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

_angular          = window.angular,
/** @name angular */
angular           = window.angular || (window.angular = {}),

这一行对我来说很有意义:

angular           = window.angular || (window.angular = {}),

“如果已经在窗口中定义(从先前的包含?),则使用 Angular ,或者将 window.angular 分配给一个空对象并将 Angular 局部变量设置为 window.angular。”

一些问题:

  1. 为什么 window.angular 已经被定义(除了明显的情况,有人已经包含它),我们为什么要关心?
  2. 为什么要分配 _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/

相关文章:

javascript - 从列表 JQUERY 中获取点击输入的正确名称

angularjs - 在 ng-repeat 中的 ng-click 上显示隐藏的 div

angularjs - 删除 angular 2 组件选择器标签

javascript - $watch 一个对象

javascript - Angularjs 代码不在匿名函数中运行

javascript - AngularJS - 在 ng-repeat 完成后操作 DOM

javascript - React.js - 使用 renderComponentToString 时未调用 componentDidMount

javascript - 按颜色过滤 HTML 表格

javascript - 简单的 Javascript 我不知道如何将函数放在 if-else 语句中

javascript - jquery post 总是返回 false