[ js ] (function($) {})(jQuery)

楼主: Arim (象山下智久)   2014-08-26 22:23:41
大家好
想要问一下
今天看到这种写法
(function($) {/*一些初始化*/})(jQuery)
有查到这实际上会产生一个匿名函式
就相当于
function a($){...}
a(JQuery)
只是我不知道为什么不要一开始就直接把{...}中的内容写出来,而要先写成function
在传递
请问这是用在什么情况之下呢?
谢谢
作者: Y78 (Y78)   2014-08-26 22:36:00
$这个符号有可能被其他的js library用掉 而不是代表jQuery所以利用这样子的方式立即执行函式并把jQuery传入 确保$字号不会被其他library盖掉
作者: s25g5d4 (function(){})()   2014-08-27 00:21:00
还有保护内部变量的功能
作者: alog (A肉哥)   2014-09-02 07:25:00
1. 利用函数传递jQuery核心物件 $ 确保功能正确,以前年代混用他牌 js library 很常有的事,当时又很喜欢用$$$$ 做开头2. 利用闭包技巧可隔离变量跟函式在多个模组运作的时候干扰会减少 3. 函数不容易被恶意网友用开发工具劫持复写

Links booklink

Contact Us: admin [ a t ] ucptt.com