我是咖啡脚本的新手,这个定义可能比这个问题本身更糟糕.
特定
class window.SlideManager constructor: (@$contentDiv, @analyticsCanvas) -> @iterator = Iterator(@slides) @slides = @$contentDiv.data('slides') nextSlide: -> try { url = @iterator.next() } catch { @iterator = Iterator(@slides) url = @iterator.next() } this.renderSlide(url) renderSlide: (slide) -> $.get(slide, {nolayout: 'true'}, (data) -> @$contentDiv.contents().replaceWith(data) window.setupCanvas($(@analyticsCanvas), window.createChartData(window.getVisitCounts($(@analyticsCanvas)))) )
我在第8行(url = @iterator.next()
)遇到意外=语法错误
有谁知道我可能会缺少什么?
你不应该使用大括号:
nextSlide: -> try url = @iterator.next() catch @iterator = Iterator(@slides) url = @iterator.next()
首先,基础知识:CoffeeScript使用重要的空格来分隔代码块.您不需要使用分号
;
来终止表达式,结束该行也会这样做(尽管分号仍可用于将多个表达式拟合到一行上).而不是使用花括号{
}
来围绕函数,if语句,开关和try/catch中的代码块,而是 使用缩进.
见:http://coffeescript.org/