$$(双美元符号)在角度中用于什么

What is the $$ (double dollar sign) used for in angular?

本文关键字:用于 什么 美元 符号      更新时间:2023-09-26

我正在查看角度 1.2 源代码,我只是好奇为什么有些函数以两个美元符号为前缀。这是某种惯例吗?

  • 保留的公共标识符的单一$
  • 保留专用标识符的双$$

引用文档:

$ 前缀命名约定

如果检查范围,您可能还会注意到一些以 $$ 开头的属性。这些属性被视为私有属性,不应访问或修改。

如果我可以补充:

Angularjs Docs

除了对 Angularjs 很重要之外,"$$"或"$"只是变量名称中允许的字符。Angularjs使用两者来确定对你和他们自己的开发团队的重要性。

你可以用同样的方式命名所有变量;但为了避免命名冲突,请远离这种做法。这里有一些例子,如果你这样做了...

$$$$myVariableName; $myVariableName$; _myVariableName_; $$$$$$myVariableName$$$$$$$$

如果您愿意,这里有一个测试JS变量名称的链接:

变量名验证器

这里有一个指向 MDN 的链接,解释了允许的字符:

MDN 允许的字符链接

这是文字:

变量

使用变量作为应用程序中值的符号名称。 变量的名称(称为标识符(符合某些规则。

JavaScript 标识符必须以字母、下划线 (_( 或美元符号 ($( 开头; 后续字符也可以是数字 (0-9(。因为 JavaScript 区分大小写, 字母包括字符"A"到"Z"(大写(和字符"a"到"z" (小写(。

从 JavaScript 1.5 开始,您可以使用 ISO 8859-1 或 Unicode 字母,例如 å 和 ü 在标识符中。您还可以使用 ''uXXXX Unicode 转义序列作为标识符中的字符。

法定名称的一些示例是 Number_hits、temp99 和 _name。

Angulajs在每个对象中都包含相当多的信息;有些项目是针对Angularjs的,有些是给开发人员的,这意味着有些可能不可编辑,但如果这是你要使用它的目的,那么所有项目都应该可供参考。

但是,在未来的版本中,任何私有标识符都可能会消失,因为Angularjs团队希望开发人员不使用保留/私有名称。

在发布的"类似链接"的情况下,这里是Angularjs所说的:

$ 前缀命名约定 您可以创建自己的服务,实际上我们将在步骤 11 中完全这样做。 作为命名约定,Angular 的内置服务、Scope 方法和其他一些 Angular API 在名称前面有一个 $ 前缀。

$ 前缀用于命名空间 Angular 提供的服务。防止碰撞 最好避免命名以 $ 开头的服务和模型。

如果检查范围,您可能还会注意到一些以 $$ 开头的属性。 这些属性被视为私有属性,不应访问或修改。