簡體   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