请告诉我如何用coffeescript编写下面的javascript.

setTimeout(function(){
    something(param);
}, 1000);

推荐答案

我认为回调作为函数的最后一个参数是一个有用的约定. node 通常就是这种情况.比如JSAPI.考虑到这一点:

delay = (ms, func) -> setTimeout func, ms

delay 1000, -> something param

当然,这会增加每setTimeout次额外函数调用的开销;但在今天的JS解释器中,除非每秒执行数千次,否则性能缺陷是微不足道的.(你到底在做什么,设置每秒数千次的超时?)

当然,一种更直接的方法是简单地命名回调,这往往会产生更可读的代码(jashkenas非常喜欢这个习惯用法):

callback = -> something param
setTimeout callback, 1000

Javascript相关问答推荐

如何访问react路由v6加载器函数中的查询参数/搜索参数

按钮未放置在html dis位置

拖放仅通过 Select 上传

Msgraph用户邀请自定义邮箱模板

Angular material 拖放堆叠的牌副,悬停时自动展开&

分层树视图

如何在ASP.NET中使用Google Charts API JavaScript将条形图标签显示为绝对值而不是负值

使用原型判断对象是否为类的实例

让chart.js饼图中的一个切片变厚?

MarkLogic-earch.suggest不返回任何值

获取';无法解决导入和导入";slick-carousel/slick/slick-theme.css";';错误

<;img>;标记无法呈现图像

传递方法VS泛型对象VS事件特定对象

警告框不显示包含HTML输入字段的总和

如何在一个对象Java脚本中获取不同键的重复值?

React Refs不与高阶组件(HOC)中的动态生成组件一起工作

FindByIdAndUpdate在嵌套对象中创建_id

如何在Web项目中同步语音合成和文本 colored颜色 更改

如何创建一个for循环,用于计算仪器刻度长度并将其放入一个HTML表中?

使用JAVASCRIPT-使用If和Else If多次判断条件-使用JAVASRIPT对象及其属性