jQuery-如何理解jQuery的插件编写方式

(function($){
       $.fn.plugin = function(){
               //...
       }
})(jQuery); 

初学者看到这种句式几乎都会眼花。下面简单说明一下这是怎么演化来的:

首先我们都熟悉的:

function(){}

上面是定义一个方法。然后:

(function(){})();

这表示定义了一个方法之后马上执行它。在 JavaScript 当中,$ 可以作为一个变量名,所以括号中的 function 可以加上一个参数 $:

(function($){})(jQuery);

后面的 jQuery 表示在调用这个方法时传入的参数。稍微排一下版就是下面的样子:

(function($){

    // ...

})(jQuery);

这下你该知道开头的句式是怎么来的了吧。这样做有什么好处呢?因为 $ 是一个被 JavaScript 群众广泛接受的变量,很多 JavaScript 库都喜欢用这个。为了避免同其他定义的 $ 搞混淆,这里将 $ 定义为一个局部参数,既屏蔽了外部干扰,又限制了它的作用域,那么这个方法里面就可以放心的用 $ 了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值