看板 Ajax 關於我們 聯絡資訊
大家好 想要問一下 今天看到這種寫法 (function($) {/*一些初始化*/})(jQuery) 有查到這實際上會產生一個匿名函式 就相當於 function a($){...} a(JQuery) 只是我不知道為什麼不要一開始就直接把{...}中的內容寫出來,而要先寫成function 在傳遞 請問這是用在什麼情況之下呢? 謝謝 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.101.252 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1409063024.A.DB5.html
Y78: $這個符號有可能被其他的js library用掉 而不是代表jQuery 08/26 22:36
Y78: 所以利用這樣子的方式立即執行函式並把jQuery傳入 確保$字號 08/26 22:36
Y78: 不會被其他library蓋掉 08/26 22:37
s25g5d4: 還有保護內部變數的功能 08/27 00:21
alog: 1. 利用函數傳遞jQuery核心物件 $ 確保功能正確,以前年代混 09/02 07:25
alog: 用他牌 js library 很常有的事,當時又很喜歡用$$$$ 做開頭 09/02 07:25
alog: 2. 利用閉包技巧可隔離變數跟函式在多個模組運作的時候干擾 09/02 07:25
alog: 會減少 3. 函數不容易被惡意網友用開發工具劫持複寫 09/02 07:25