2011-04-01 106 views
-7

我對JavaScript有一點經驗,但JavaScript Closure讓我感到困惑。JavaScript Closure和JavaScript的區別?

+1

Java關閉或JavaScript關閉? – 2011-04-01 18:50:20

+0

Javascript閉包和Javascript – linlin 2011-04-01 18:55:51

+0

你是指在語言構造中的閉包,還是Closure,就像在編譯JavaScript的Google代碼項目中一樣? http://code.google.com/p/closure-compiler/ – jvenema 2011-04-01 19:02:04

回答

2

要理解閉包將要做什麼,您需要了解局部變量的範圍。

在Java中,您可以在任何{}塊中聲明新的不同的局部變量。

在Javascript中,有不同的行爲。解釋器允許在任何地方聲明局部變量,但這些變量只有在不同的函數中才會有區別。

有在Javascript中沒有環路範圍或環定義的變量,所以行爲完全像var j; for(x=0; x<10; x++){ j = ..

這就是爲什麼在Javascript中一個經常以創造一個很乖範圍包裝在另一個函數一個功能。

+0

你的意思就像寫在jQuery中的功能或是它很熟悉jquery,JavaScript的封閉和Ajax? – linlin 2011-04-01 19:08:55

+0

謝謝保羅。我可以在哪裏使用JavaScript Closure?它是否有用 – linlin 2011-04-01 19:19:13

+1

jQuery是一個預先編寫的JavaScript庫。閉包是一種語言結構。 Ajax是使用JS與Web服務器通信的技術。你正在比較一個汽車零部件商店和發動機,並駕駛到海灘。 – Quentin 2011-04-01 19:21:33

相關問題