首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么coffeescript到处使用«return»语句?

问为什么coffeescript到处使用«return»语句?
EN

Stack Overflow用户
提问于 2013-03-24 20:57:18
回答 2查看 2.2K关注 0票数 3

在写这样的东西时:

代码语言:javascript
复制
$(document).ready ->
  doSomething()

doSomething = ->
  alert('Nothing to do')

被编译成

代码语言:javascript
复制
$(document).ready(function() {
  return doSomething();
});

doSomething = function() {
  return alert('Nothing to do');
};

在我的理解中,return语句用于值(字符串、数组、整数...)

为什么coffeescript要这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-24 21:03:30

如果未指定任何值,则CoffeeScript将使用隐式返回。

CS返回函数中最后一条语句的值。这意味着生成的JS将拥有最后一条语句的值的return,因为JS需要显式的return。

返回语句用于值(字符串、数组、整数...)

是的,这些值可以通过调用一个函数来返回,比如你的例子中的doSomething()或alert()。值是执行方法的结果是无关紧要的。

票数 8
EN

Stack Overflow用户

发布于 2013-03-24 21:05:32

像Ruby一样,Coffeescript总是返回函数中的最后一条语句。最后一条语句将始终计算为一个值(字符串、数组、整数等)或null。在任何一种情况下,返回结果都是完全有效的。

要回答“为什么”coffescript对所有函数都这样做,而不是只在有值的函数中这样做,原因很简单,因为在许多情况下,coffescript不能判断最后一条语句何时将计算为值或null。始终将return语句放在那里会更安全、更简单,而且不会有任何负面影响。如果你不关心函数返回什么,你可以忽略返回值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15598727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档