javascript函数什么是范围和为什么使用$
可能重复:
为什么JavaScript变量会以美元符号开头?
我不确定$范围和$延期是什么,但他们似乎工作。
function xyz($scope, $defer) {
xyz = this;
this.defer = $defer;
this.scope = $scope;
this.scope.test = function(re) {
console.log(this,arguments);
}
}
一般来说,现在这些开发者都会命名一个变量$something
来标记它是一个包装框架的对象类型。 例如,要缓存一个jQuery对象,使用$this = $(this);
这就是说,美元符号没有什么特别之处。 只是为了开发者。
有点历史和推理; ECMAScript 3说:
美元符号($)和下划线(_)在标识符的任何地方都是允许的。 美元符号仅用于机械生成的代码 。
ECMAScript 5说:
美元符号($)和下划线(_)在IdentifierName的任何位置都是允许的。
所以当有人说:“嘿,你不应该在你的变量中使用美元符号,它是用于机械生成的代码!” 你可以说“Psh,ECMA 5,你好吗?”
这些是参数的名称。
更新: $
是完全有效的(即使它本身,这可能是更常见的感谢某些JS库)作为JavaScript中的标识符,但它通常不被用作这样的签名。 我猜这些代码是由Perl经验丰富的人编写的,或者可能是一些主要处理基于jQuery的代码的人。