DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 一個關於javascript匿名函數的問題分析
一個關於javascript匿名函數的問題分析
編輯:關於JavaScript     
匿名函數,就是沒有名字的函數。如:
復制代碼 代碼如下:
function (){
alert('a function');
}

但是,上面的代碼會報錯。firebug提示:function statement requires a name,也就是:函數必須要有個名字。

奇怪的是,如果我用一對()把這個沒有名字的函數包起來,就不會報錯了。如:
復制代碼 代碼如下:
(function (){
alert('a function');
})

(注意包裹函數的()!).雖然這樣不會報錯,但誰能知道這個函數是否聲明成功了呢?是不是因為根本沒聲明所以才不報錯呢?我們這樣來測試:讓函數自己執行一次:
復制代碼 代碼如下:
(function (){
alert('a function');
}())

可以看到,函數執行了,表明函數是存在的。

同樣,如果這個時候去掉包裹函數的(),則依然會報前面那個錯,函數也執行不了。。。
復制代碼 代碼如下:
function (){
alert('a function');
}()

這對包裹函數的(),真有這麼重要?哪位高手解釋一下原理呢?
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved