写插件匿名函数问题

来源:1-12 几个实用的插件介绍-3

coollin

2017-10-10 17:12:40

(function ($) {
         //这里放入插件代码
})(jQuery);

还有看到传3个参数的:
(function (win,duc,$) {
         //这里放入插件代码
})(window,document,jQuery);

想问下这里的参数是什么意思?为什么要传参?这里的匿名函数访问不到jquery吗?什么时候要加window和document?


写回答

1回答

怎么都被占用了呢

2017-10-10

win, doc分别接受window, document对象,window, document对象都是全局环境下的,而在函数体内的window, document是局部变量,不是全局的window, document对象。这样做的好处是:在函数体内需要多次调用window 或 document对象时,可以减少作用域链的查询时间,提高性能。当然如果你的插件用不到这两个对象,那么就不用传递这两个参数了。

$是jquery的简写,很多方法和类库也使用$,这里$接受jQuery对象,也是为了避免$变量冲突,保证插件可以正常运行。

0
hoollin
h 非常感谢!
h017-10-12
共1条回复

0 学习 · 36712 问题

查看课程