如何删除return语句[重复]
Posted
技术标签:
【中文标题】如何删除return语句[重复]【英文标题】:How to remove return statement [duplicate] 【发布时间】:2016-01-29 18:23:27 【问题描述】:Coffeescript 坚持要加return语句,怎么去掉?
咖啡脚本:
$('.box-menu').each (index, value) ->
@boxes.push new LW.Box.Box @ajax, $(this).data('type')
编译后的Javascript:
$('.box-menu').each(function(index, value)
return this.boxes.push(new LW.Box.Box(this.ajax, $(this).data('type')));
);
【问题讨论】:
Coffeescript 自动返回块的最后一个值。你希望发生什么? 【参考方案1】:你真的不能,但你可以用不同的方式来组织整个事情,因为jQuery.each
在这里并没有真正的用处:
@boxes.push new LW.Box.Box @ajax, $(elem).data('type') for elem in $('.box-menu')
即使您不这样做,这里的 return
语句也绝对没有问题,这就是为什么 Coffeescript 首先将所有内容都作为表达式:通常没有区别。
如果绝对必要,您可以这样做:
$('.box-menu').each `function ()
this.boxes.push(new LW.Box.Box(this.ajax, $(this).data('type')));
`
【讨论】:
技术上没有回答这个问题,但我同意这是更好的方法! 谢谢。这解决了我的很多问题。我喜欢你的第一个解决方案。 在 CoffeeScript 中使用原始 JS 是一种非常糟糕的做法。 CS 完全覆盖了 ECMA5,所以你可以在原始 JS 中做的任何事情都可以在 CS 中完成。 你错误地告诉 OP 他不能摆脱return
,因为他可以(见Matheus208's answer)。
@Leonid 我不会真的称之为“摆脱”;它只是显式返回一个定义的值而不是一个隐式返回...它编译为无返回语句,但这是巧合。【参考方案2】:
$('.box-menu').each (index, value) ->
@boxes.push new LW.Box.Box @ajax, $(this).data('type')
return
【讨论】:
感谢您提供此解决方案。它确实回答了这个问题,但我想我会使用非每个解决方案。 我同意。好多了:)以上是关于如何删除return语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章
oracle数据库中如何用sql语句查出重复字段以及如何删除?
2022-12-07:删除重复的电子邮箱。删除重复数据后,id=3的数据被删除。请问sql语句如何写? DROP TABLE IF EXISTS `person`; CREATE TABLE `per