8.1 在插件中使用$别名
在编写jQuery插件时,必须假设jQuery库已经加载到了页面中。可是,我们不能假设$
别名一定可用。第3章曾经讲过,$.noConflict()
方法就是用于让渡这个快捷方式使用权的。考虑到这一点,我们自定义的插件就应该始终都使用jQuery
这个名字来调用jQuery方法,或者也可以在内部定义一个$
别名。
对于代码比较长的插件来说,很多开发人员都觉得不能使用$
别名会导致代码难以理解。为了解决这个问题,我们可以在插件的作用域内定义这个快捷方式,方法就是定义一个函数并马上调用它。这种定义并立即调用函数的语法通常被称为立即调用的函数表达式(IIFE,Immediately Invoked Function Expression):
(function($) {
//在这里添加代码
})(jQuery);
这个包装函数只接收一个参数,我们通过这个参数传入了jQuery
对象。这个参数的名字是$
,因此在这个函数内部,使用$
别名就不会有冲突了。