[英]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.