的意义/含义是什么?
我可以找到一些文档吗? 很难用谷歌搜索这些特殊字符,所以我在这里问。 [full gist]
class RP.Dashboard.Events.Form extends Backbone.View
el: '.simple_form.new_event, .simple_form.edit_event, .simple_form#new_event, .simple_form#edit_event'
events:
'focus #location_autocomplete': 'geolocate'
address_component_map:
street_number:
key: 'short_name'
form_field: '#event_address'
initialize: ->
@render()
@init_autocomplete()
render: ->
@$(".datepicker" ).datepicker(
showOn: "button"
buttonImageOnly: true
changeMonth: true
changeYear: true
format: 'yyyy-mm-dd'
dateFormat: 'yy-mm-dd'
)
@$(".timepicker").timepicker()
@$('.input-timepicker').timepicker({minuteStep: 1,showSeconds: false,showMeridian: true,defaultTime: '8'});
fill_in_address: =>
答案 0 :(得分:0)
谷歌搜索“标志处的咖啡”将Does the '@' symbol have special meaning in Javascript, Coffeescript or Jquery?作为最佳结果。 @在咖啡脚本中表示this
:
## coffeescript
self = @
## javascript
var self = this
关于->和=>之间的区别,使用谷歌搜索“ cofeescript->”将其作为顶部链接:
CoffeeScript, When to use fat arrow (=>) over arrow (->) and vice versa
要从此处复制并粘贴:
在定义方法时,我发现胖箭头的主要用例是当您要将方法用作回调并且该方法引用实例字段时:
class A
constructor: (@msg) ->
thin: -> alert @msg
fat: => alert @msg
x = new A("yo")
x.thin() #alerts "yo"
x.fat() #alerts "yo"
fn = (callback) -> callback()
fn(x.thin) #alerts "undefined"
fn(x.fat) #alerts "yo"
fn(-> x.thin()) #alerts "yo"
如您所见,如果不使用粗箭头,将实例的方法的引用作为回调传递给您可能会遇到问题。这是因为粗箭头将对象的实例绑定到该对象,而细箭头则没有,因此上述称为回调的细箭头方法无法访问@msg之类的实例字段或调用其他实例方法。最后一行是使用瘦箭头的情况下的解决方法。