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