toolbarlite这个东西至今没搞懂是什么玩意。因为除了源代码我实在是找不到除了toolbar之外的任何关于toolbarlite的东西了。不知道toolbarlite是不是toolbar的子集,不过随意吧,我是懒得去读toolbar的源代码了。
既然是使用了toolbarlite这个小插件,那么自然是可以找到源代码看的,于是我就翻开了。于是我就蒙蔽了,我实在是不知道那些写插件的人为什么要写英文注释,然后偏偏搞上中文版的名号,这是欺诈!当然跟我英文不好没什么关系的,这不容置疑。
然后我只能顺着一点一点的读代码,然后一点点的分解代码含义。
只是有一段我实在是看不懂,因为他tm的根本就没按照标准格式书写,我现在用的这个ide并没有高亮范围的功能,你知道对{}、【】的痛苦吗,我的老天。。。
然后其实我是有点不太懂(function($){}(jQuery))这个写法的,于是我打开了万能的度娘,get到了http://blog.csdn.net/szwangdf/article/details/43153077这篇文章。看到访问量的时候我就跪了。
然后发现原来$(document).ready(function(){})、(function($){})(jQuery)、$(function(){})、jQuery(function($){})的作用都是一样的,那就是闭包。
至于什么是闭包这里不多说了,学js的时候就会接触。那么紧紧是闭包来写一个插件是不是多此一举呢?并不是,其实其形成闭包的主要原因是防止冲突,插件那么多,资源那么少。而$作为一个形参的存在,jQuery作为一个实参的存在,形成局部变量,避免冲突的发生。
就我接触的一些轻量级插件来说,大致都是使用了此种方法,当然,我更喜欢第一种写法,简介明了,不会造成作用域的混淆——这实在是很让人头疼的事情。