摘要:在应用一组元素时,通过HTML5数据属性可以在单个元素级别上定制选项,而不需要实例化每个元素让其拥有不同的默认值。比如:htmlaabbjs$(".item-a").draggable({"position": "top-left"});$(".item-a").draggable({"positi...
阅读全文
摘要:第一种方法:在很多基于jQuery或基于Zepto的插件中,在立即函数执行前面会加上";"这个符号。这是为了防止前面的其他插件没有正常关闭。在立即执行函数执行时,会一般会传入jQuery,window等。举个例子:;(function($,window,undefined){ //.....})(j...
阅读全文
摘要:MVP模式模型-视图-表示器,也就是MVP模式。是mvc模式的一种衍生模式,专注于改进表示逻辑。与MVC不同,来自view的调用将委托给presenter(表示器),表示器通过接口与view对话。MVP中的view是被动的,里面包含一点代码逻辑或者零逻辑,我们专业的说:这个view是很轻的。MVP的...
阅读全文
摘要:MVC由三部分组成:model,view,controller。Model(模型)model管理应用程序的数据,model不涉及用户界面,它代表应用程序可能需要的独特形式的数据。当model改变时(如更新),它会通知它的观察者(如view视图),重新渲染出新的数据(model)。举个例子:假设我们有...
阅读全文
摘要:装饰者模式,英文名:Decorator。装饰者基本概念:装饰者可以用于修改现有的系统,希望在系统中为对象添加额外的功能,而不需要修改对象的底层代码来添加额外的功能。举个简单的例子:function vehicle(type){ this.vehicleType = type || "car"; th...
阅读全文
摘要:工厂模式,英文名:Factory。基本概念:工厂模式提供一个通用的接口来创建对象,但是我们可以指定我们希望创建出来的对象类型。实际应用:我们需要一个创建UI组件对象的工厂模式。我们需要什么样的组件类型(按钮,下拉框等),我们只要告诉Factory,然后它就会根据我们需要的类型创建一个相应的UI组件对...
阅读全文
摘要:命令模式,英文名:Command模式。直接用例子来说明这个模式:(function(){ var carManager = { requestInfo : function(model, id){ }, buyVehicle: function(model, id){ } }; .....
阅读全文
摘要:中介者模式,英文名:Mediator。基本概念:中介者允许我们公开一个统一的接口,系统的不同部分可以通过该接口进行通信。使用场景:一个系统的各个组件之间看起来有太多的直接关系,这时需要一个中心控制点,以便各个组件可以通过这个中心控制点进行通信。作用:确保组件的交互是通过这个中心控制点来处理的,而不是...
阅读全文
摘要:观察者模式,英文名:Observer模式。基本概念:一个对象(目标)维持一系列依赖于它的对象(观察者),将有关状态的任何变更自动通知给它们(观察者)。当一个目标需要告诉观察者发生了什么事情时,它会向观察者广播一个通知。当目标不再希望某个特定的观察者获得其注册目标发出的通知时,该目标可以将它(某个特定...
阅读全文
摘要:模块模式模块模式使用闭包封装私有状态和组织。它提供了一种包装公有/私有方法和变量的方式,防止其泄露至全局作用域。通过该模式,只需返回一个共有api,而其他的一切都维持在私有闭包里。该模式返回一个对象。在模块模式中,由于闭包的存在,声明的变量和方法只在该模式内部可用,但在返回对象上定义的变量和方法,则...
阅读全文