我仍然对咖啡脚本和javascript继承中“this”的范围和上下文感到困惑。为什么 this(@) 用于创建静态方法以及引用实例方法,例如 @myStaticMethod 和 @move 之间的区别,“this”在这两种情况下代表什么?
例如
class Animal
@myStaticMethod : () ->
console.log this is a static method
move:(numberOfLegs) ->
console.log numberOfLegs + ' legs moving'
run: (numberOfLegs) ->
@move(numberOfLegs)
class Dog extends Animal
sprint: () ->
return @run(4)
dog = new Dog()
dog.sprint()