簡體   English   中英

有關在函數語法上使用一種優勢的問題

[英]Question regarding benifits of using one over other regarding function syntax

我在這里閱讀了函數聲明和函數表達式之間的區別

函數表達式與JavaScript中的聲明之間有什么區別?

var functionName = function(){}與function functionName(){}

我了解了一個區別,一個是在解析時定義的,另一個是在運行時定義的。 但是我的好奇心是在考慮使用哪個,不使用哪個以及為什么要優先使用另一個。

這是該主題的詳細文章

僅供參考,即使在函數表達式中,您也可以在括號之前使用functionName:

var functionName = function functionName() { ... }

使用其中具有函數名稱的形式(在function()之間()一個原因是,調試器可以在顯示堆棧跟蹤時幫助您告訴發生了什么功能。

使用函數表達式的一個原因是讓您在將函數放入名稱空間時具有更大的靈活性。 因此,如果您使用命名空間將javascript組織到模塊中 ,則可能需要使用函數表達式。

由於這些原因,以上形式(帶有函數名稱的函數表達式)可以被認為是兩全其美的。 但是它的缺點是重復( DRY !)。

真的很少。 function foo(x)只是foo = function(x)簡寫。 與Java中的任何名稱一樣,添加var限制范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM