繁体   English   中英

为什么coffeescript到处使用“返回”声明?

[英]Why coffeescript use « return » statement everywhere?

写这样的东西时:

$(document).ready ->
  doSomething()

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

编译成

$(document).ready(function() {
  return doSomething();
});

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

据我所知,return语句用于值(字符串,数组,整数......)

为什么coffeescript会这样做?

如果没有指定,CoffeeScript使用隐式返回。

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

return语句用于值(字符串,数组,整数......)

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

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

要回答“为什么”coffescript对所有函数执行此操作,而不仅仅是存在值的函数,这只是因为在很多情况下,Coffeescript无法判断最后一个语句何时将计算为值或为null 总是在那里有return声明更安全,更简单,并且没有任何负面后果。 如果您不关心函数返回的内容,则可以忽略返回的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM