'@'符号在Javascript,Coffeescript或Jquery中有特殊含义吗?

时间:2013-01-03 16:37:23

标签: javascript jquery coffeescript

我有一些看起来像

的代码
self = @

然后再使用@someMethodName或self.someMethodName

@有一些特殊含义吗?

3 个答案:

答案 0 :(得分:60)

@不是javascript标识符的有效字符。标识符只能包含$_,数字和字母。

在coffeescript中,@ means this

  

CoffeeScript有一些与this关键字相关的不错功能。   首先,CoffeeScript使用@符号作为此的简写.. For   例如,@ foo等同于this.foo。第二,如果你使用@   函数参数中的符号,CoffeeScript会   自动将这些值指定为对象的属性。

编辑:就jQuery而言,与javascript相同的标识符规则适用,因为jQuery只是javascript。有关jQuery中@的其他用法,请参阅this questionthe docs

答案 1 :(得分:17)

@是coffeescript

this的快捷方式

所以

self = @

是coffeescript:

var self = this;

答案 2 :(得分:1)

自从CoffeeScript的设计已经过去了两年,并且不是CoffeeScript中提出的所有内容都将其纳入ECMA脚本中。建议不要将其用作decorators的快捷方式。