javascript函数什么是范围和为什么使用$

时间:2012-05-01 15:16:08

标签: javascript javascript-events

  

可能重复:
  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);
    }
}

2 个答案:

答案 0 :(得分:7)

通常这些天devs命名变量$something来标记它是包装框架的对象类型。例如,要缓存jQuery对象,使用$this = $(this);

是有意义的

话虽如此,美元符号并没有什么特别之处。只是为开发者提供支持。

一点历史和推理; ECMAScript 3说:

  

美元符号($)和下划线(_)在任何地方都是允许的   标识符。 美元符号仅供用于   机械生成的代码

ECMAScript 5说:

  

美元符号($)和下划线(_)在任何地方都是允许的   标识符名称。

所以,当有人说“嘿,你不应该在你的var中使用美元符号时,它就是机械生成的代码!”你可以说“Psh,ECMA 5,你好?”

答案 1 :(得分:5)

这些是参数名称。

更新:$完全有效(即使它本身,这可能更常见,由于某些JS库)作为JavaScript中的标识符,但它通常不被用作这样的sigil。我猜测代码是由Perl经验太多的人编写的,或者可能是那些主要处理基于jQuery的代码的人。