可能重复:
Why would a JavaScript variable start with a dollar sign?
我不确定$ scope和$ defer是什么,但他们似乎只是工作。
function xyz($scope, $defer) {
xyz = this;
this.defer = $defer;
this.scope = $scope;
this.scope.test = function(re) {
console.log(this,arguments);
}
}
答案 0 :(得分:7)
通常这些天devs命名变量$something
来标记它是包装框架的对象类型。例如,要缓存jQuery对象,使用$this = $(this);
话虽如此,美元符号并没有什么特别之处。只是为开发者提供支持。
一点历史和推理; ECMAScript 3说:
美元符号($)和下划线(_)在任何地方都是允许的 标识符。 美元符号仅供用于 机械生成的代码。
ECMAScript 5说:
美元符号($)和下划线(_)在任何地方都是允许的 标识符名称。
所以,当有人说“嘿,你不应该在你的var中使用美元符号时,它就是机械生成的代码!”你可以说“Psh,ECMA 5,你好?”
答案 1 :(得分:5)
这些是参数名称。
更新:$
完全有效(即使它本身,这可能更常见,由于某些JS库)作为JavaScript中的标识符,但它通常不被用作这样的sigil。我猜测代码是由Perl经验太多的人编写的,或者可能是那些主要处理基于jQuery的代码的人。