Abe*_*ler 20 javascript coffeescript
我有类似于以下代码:
_.each data, (value, type) ->
switch type
when "answered"
icon = "results_answered"
label = definitions.results.metrics.ta
when "leftblank"
icon = "results_lb"
label = definitions.results.metrics.tlb
when "standing"
icon = "results_standing"
label = definitions.results.metrics.cs
when "minimum"
icon = "results_min"
label = definitions.results.metrics.lowest
else
continue
metricLine = utilities.div("metricline")
metricLine.grab utilities.sprite(icon, "metric_icon")
metricLine.grab utilities.div("metriclabel", label + ":")
metricLine.grab utilities.div("metricvalue", value)
metricContainer.grab(metricLine)
metricContainer
Run Code Online (Sandbox Code Playgroud)
但它会向我的浏览器抛出以下错误:
未捕获的SyntaxError:非法继续语句
是否有可能包括continue我正在尝试而不抛出错误?
T.J*_*der 62
如果你想继续下一个循环迭代,你想要的return不是continue,因为你传递的each是一个函数.
在评论中你提到熟悉C#foreach循环,因此想要使用continue.区别在于,使用C#foreach,你正在处理一个实际的循环结构,而each实际上是为每个循环迭代调用一个函数,所以它不是(在语言级别)一个循环,所以你不能continue.
rob*_*kuz 10
您没有在代码中使用循环结构,而是使用闭包.你只能通过continue退出循环.当使用下划线每个函数时,您必须通过返回退出闭包/函数
#language construct
for item in items
if some_condition
continue
#closure construct
_.each data, (item) ->
if some_condition
return
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26242 次 |
| 最近记录: |