看板 Ajax 關於我們 聯絡資訊
各位好 小弟正在讀Professional Node.js這本書 書中提到說 由於javascript有closure特性 函式會將外層變數也一起包進來 為了避免汙染全域變數 所以建議把相關的部分包在一個函式裡 如以下sample code (function() { var clickCount = 0; $('button#mybutton').click(function(){ clickCount++; alert('Clicked' + clickCount + 'times.'); }); }()); 但我看不太懂這裡的語法 1. 像這樣直接用function當開頭的情況 不是只有在當作argument傳時才會這樣寫嗎? 2. 尾列的那個()的用途是? 我知道有種情況是function回傳的東西本身也是function 所以會再用一個()來傳argument進去 但這裡似乎是不同情況? 3. 把整個function再用一個()包起來的用意是? 以上疑問因為不曉得該用什麼關鍵字google... 只好請大家解惑了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.237.220 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1470636251.A.1A8.html
mrbigmouth: 本板#1G05D4BU 08/08 15:29
SunNEET: 感謝, 完全明白了 08/08 19:22
Rivety: IIFE 08/11 19:08