[英]What is the $$ (double dollar sign) used for in angular?
我正在看一下角度1.2源代码,我只是好奇为什么有些函数以两个美元符号为前缀。 这是某种惯例吗?
$
表示保留的公共标识符 $$
用于保留的私有标识符 引用文档 :
$前缀命名约定
...
如果检查Scope,您可能还会注意到一些以$$开头的属性。 这些属性被视为私有,不应被访问或修改。
如果我可以添加:
除了对Angularjs有意义之外,'$$'或'$'只是变量名中允许的字符。 Angularjs使用两者来确定您和他们自己的开发团队的重要性。
您可以以相同的方式命名所有变量; 但要避免命名碰撞,请远离这种做法。 以下是一些例子,如果你这样做......
$$$$myVariableName; $myVariableName$; _myVariableName_; $$$$$$myVariableName$$$$$$$$
如果您愿意,可以使用以下链接来测试JS变量名称:
这是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.