2010-08-05 86 views
15

函數應該總是返回一些東西?我經常寫其用於簡略做的事情,發生了很多諸如非常基本的功能:函數應該總是返回一些東西(Javascript)

function formsAway() { 
    $("#login_form, #booking_form").slideUp(); 
} 

如果這種功能存在 - 有沒有更好的辦法,或者是這個罰款?

回答

17

他們不必返回任何東西。如果將它留空,它會簡單地返回'undefined',在這種情況下很好,因爲你永遠不打算使用返回值。 Javascript的語法非常簡單,據我所知,那些沒有返回值的函數和函數之間沒有任何真正的區別(除'return'關鍵字外)

2

函數總是返回 的東西?

我相信完全取決於函數的用法。

有沒有更好的辦法,還是這個 罰款?

如果有很多可重複使用的代碼可以被函數替換,以至於代碼看起來更乾淨,那麼編寫這些類型的函數的IMO是很好的。但是,只有在發生幾次事件時,您纔可以直接放置代碼,而不是將其替換爲函數。您還應該考慮將來在其他地方重複使用此功能的可能性。

2

據我所知,除非你需要它返回的東西,一個函數不必返回任何東西。

它在其他語言中可能有所不同,但我從來沒有聽說過它是JavaScript中必需的或良好的做法。

4

所有的JavaScript函數都會返回一些東西。如果省略顯式返回,則會自動返回undefined。當一個函數返回時,它的實例從內存中被清除掉,如果沒有其他指向它們的話,它也會釋放其範圍內的所有變量。沒有強制返回內存管理將不得不手動完成。

相關問題