作者Arim (Arim5566)
看板Ajax
标题[ js ] (function($) {})(jQuery)
时间Tue Aug 26 22:23:41 2014
大家好
想要问一下
今天看到这种写法
(function($) {/*一些初始化*/})(jQuery)
有查到这实际上会产生一个匿名函式
就相当於
function a($){...}
a(JQuery)
只是我不知道为什麽不要一开始就直接把{...}中的内容写出来,而要先写成function
在传递
请问这是用在什麽情况之下呢?
谢谢
--
~宅男的四个徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以当好人为乐 忘记正妹亏欠自己
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.39.101.252
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1409063024.A.DB5.html
1F:推 Y78: $这个符号有可能被其他的js library用掉 而不是代表jQuery 08/26 22:36
2F:→ Y78: 所以利用这样子的方式立即执行函式并把jQuery传入 确保$字号 08/26 22:36
3F:→ Y78: 不会被其他library盖掉 08/26 22:37
4F:推 s25g5d4: 还有保护内部变数的功能 08/27 00:21
5F:推 alog: 1. 利用函数传递jQuery核心物件 $ 确保功能正确,以前年代混 09/02 07:25
6F:→ alog: 用他牌 js library 很常有的事,当时又很喜欢用$$$$ 做开头 09/02 07:25
7F:→ alog: 2. 利用闭包技巧可隔离变数跟函式在多个模组运作的时候干扰 09/02 07:25
8F:→ alog: 会减少 3. 函数不容易被恶意网友用开发工具劫持复写 09/02 07:25