non*_*com 2 javascript coffeescript
我已经阅读了几篇关于CoffeeScript OOP的论文.从他们那里,我是否正确理解使用@CoffeeScript中的符号(以及thisJavaScript中的前缀):
我是JS和CS的菜鸟,对不起.他们的理念与我习惯的完全不同.
UPDATE
以下是我读过的信息的参考资料:
只是搜索static.
在方法内部,@是JavaScript this并引用当前对象; 当前对象取决于方法的调用方式,查看call和apply解决方法的问题@(AKA this); 您还可以使用=>将方法绑定到CoffeeScript中的对象.
如果你说@p = 11,那就this.p = 11和p那个对象一样可用.
在类定义中,@指的是类本身.所以这:
class C
@m: -> ...
Run Code Online (Sandbox Code Playgroud)
定义一个类方法,你可以说C.m()执行它.
考虑这个例子:
class C
a: -> @p = 11
b: -> console.log(@p)
@c: -> console.log('Class method')
C.c() // This calls the class method.
o = new C
o.b() // There is no 'o.p' yet.
o.a() // This sets 'o.p'.
o.b() // And now we see an 'o.p'.
console.log(o.p) // And we see o.p here as well.
Run Code Online (Sandbox Code Playgroud)
这将在控制台中为您提供此输出:
Class method
undefined
11
11
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/ambiguous/DFcRt/
这些也可能是有趣的:
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |