写插件匿名函数问题
来源:1-12 几个实用的插件介绍-3
coollin
2017-10-10 17:12:40
(function ($) { //这里放入插件代码 })(jQuery); 还有看到传3个参数的: (function (win,duc,$) { //这里放入插件代码 })(window,document,jQuery); 想问下这里的参数是什么意思?为什么要传参?这里的匿名函数访问不到jquery吗?什么时候要加window和document?
1回答
win, doc分别接受window, document对象,window, document对象都是全局环境下的,而在函数体内的window, document是局部变量,不是全局的window, document对象。这样做的好处是:在函数体内需要多次调用window 或 document对象时,可以减少作用域链的查询时间,提高性能。当然如果你的插件用不到这两个对象,那么就不用传递这两个参数了。
$是jquery的简写,很多方法和类库也使用$,这里$接受jQuery对象,也是为了避免$变量冲突,保证插件可以正常运行。
相似问题