bogexueqianduan
伯格学前端
采纳率100%
2016-03-23 08:28

jQuery插件开发:(function($){})(jQuery); 作用求解!!

已采纳

开发jQuery插件的时候会用(function($){})(jQuery); 这个闭包函数来包裹,
因为这样写有以下三个好处:
1. 避免全局依赖
2. 避免第三方破坏
3. 兼容jQuery操作符$和jQuery

首先,上面那三个作用是什么意思?
另外,为什么用这个闭包函数包裹就可以达到上面的作用?

先谢过大家~~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 5年前

    意思就是插件不会污染顶级对象和全局变量,因为两个插件,或者多个js库同时使用,万一有变量函数对象是同名的就会产生冲突。

    点赞 1 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 5年前

    第三个就是防止第三方重新定义过$导致$被污染而不是一定是指向jquery

    点赞 1 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 5年前

    闭包使得内部可以访问外面的变量对象,同时内部定义的又不会被外面看见。

    点赞 评论 复制链接分享

为你推荐