8.1 在插件中使用$别名

在编写jQuery插件时,必须假设jQuery库已经加载到了页面中。可是,我们不能假设$别名一定可用。第3章曾经讲过,$.noConflict()方法就是用于让渡这个快捷方式使用权的。考虑到这一点,我们自定义的插件就应该始终都使用jQuery这个名字来调用jQuery方法,或者也可以在内部定义一个$别名。

对于代码比较长的插件来说,很多开发人员都觉得不能使用$别名会导致代码难以理解。为了解决这个问题,我们可以在插件的作用域内定义这个快捷方式,方法就是定义一个函数并马上调用它。这种定义并立即调用函数的语法通常被称为立即调用的函数表达式(IIFE,Immediately Invoked Function Expression):

  1. (function($) {
  2. //在这里添加代码
  3. })(jQuery);

这个包装函数只接收一个参数,我们通过这个参数传入了jQuery对象。这个参数的名字是$,因此在这个函数内部,使用$别名就不会有冲突了。