加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

有人能解释一下Twitter Bootstrap插件中使用的这个javascript模

发布时间:2020-12-18 00:27:50 所属栏目:安全 来源:网络整理
导读:我正在查看 Twitter Bootstrap的jQuery插件,看到它们都是使用这样的模式定义的: !function($) { // code here // plugin definition here} ( window.jQuery || window.ender); 这看起来像是立即执行的匿名函数(匿名闭包)的变体: (function($) { // code he
我正在查看 Twitter Bootstrap的jQuery插件,看到它们都是使用这样的模式定义的:
!function($) {
  // code here

  // plugin definition here

} ( window.jQuery || window.ender);

这看起来像是立即执行的匿名函数(匿名闭包)的变体:

(function($) {
  // code here

}(jQuery));

有人可以解释Bootstrap变体的作用和原因吗?这是编写匿名闭包的更好方法吗?

谢谢!

解决方法

//  |---1. makes the function as part of an expression 
//  |                             so it can be immediately invoked
//  v
    !function($) {
//            ^
//            |___4. references what was passed,window.jQuery or window.ender

      // code here

      // plugin definition here

    } ( window.jQuery || window.ender); // <---2. immediately invoke the function 
//         ^                ^
//         |________________|_______3. pass window.jQuery if it exists,//                                                      otherwise window.ender

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读