繁体   English   中英

什么是用于角度的$$(双美元符号)?

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

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

  • 单个$表示保留的公共标识符
  • Double $$用于保留的私有标识符

引用文档

$前缀命名约定

...

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

如果我可以添加:

Angularjs文件

除了对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说:

$ Prefix命名约定您可以创建自己的服务,事实上我们将在第11步中完成。作为命名约定,Angular的内置服务,Scope方法和一些其他Angular API在前面有$前缀名称。

$前缀用于命名空间Angular提供的服务。 为了防止冲突,最好避免命名您的服务并模拟以$开头的任何内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM