都定义Plugin函数
目前来看,定义Plugin是为了作为jquery的原型方法,可以作为jquery对象初始化的入口。
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.tab')
if (!data) $this.data('bs.tab', (data = new Tab(this)))
if (typeof option == 'string') data[option]()
})
}
都定义的noConflict函数
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
这样能把先前覆盖的变量返回
// 把被bs覆盖的变量返回
var tab = $.fn.tab.noConflict();
// 重新复制bs的方法给新的变量
$.fn.newTab = tab;
都定义了一个对象和对应的原型方法
这样应该是符合设计原理吧
在删除元素前,都解除事件绑定
这样可以是垃圾回收器尽早回收对象,减少不必要的对象的引用,提升JS效率