鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 這倆種jq閉包有什么區(qū)別,這倆種哪一種更好

這倆種jq閉包有什么區(qū)別,這倆種哪一種更好

function Circle() { }

var Circle = function() { }

回答
編輯回答
我以為

樓主或許對閉包有誤解。

不過嚴(yán)格來說,js中一切函數(shù)都形成了閉包。 因此你的說法似乎沒有問題。
但我們通常所說的閉包是狹義的閉包。

而你舉的例子,我的猜測只是兩種“函數(shù)聲明的方式”的區(qū)別(不嚴(yán)格,第二種并不是函數(shù)聲明的方式,只是看起來效果是)。

因此樓主提供的兩種寫法沒有什么使用上的區(qū)別。

2017年11月12日 08:05
編輯回答
懶洋洋

都不是閉包, 第一個是函數(shù)聲明, 第二個是函數(shù)表達(dá)式.

Circle() // 沒問題

function Circle() { }
Circle() // 報(bào)錯 Circle 是 undefined

var Circle = function() { }

clipboard.png

關(guān)于閉包可以看我寫的一篇文章.

2017年4月18日 04:36