5.js模式-职责链模式
1. 职责链模式
将对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。
var chain = function(fn){
this.fn = fn;
this.successor = null;
}
chain.prototype.setNextSuccessor = function(successor){
return this.successor = successor;
}
chain.prototype.passRequest = function(){
var ret = this.fn.apply(this,arguments);
if(ret === 'nextSuccessor'){
return this.successor && this.successor.passRequest .apply(this.successor,arguments);
}
return ret;
}
var order200 = function(pay){
if(pay){
console.log('200');
}else{
return 'nextSuccessor';
}
}
var normal = function(pay){
if(pay){
console.log('10');
}else{
console.log('50');
}
}
var chain200 = new chain(order200);
var chainNormal = new chain(normal);
- order200.setNextSuccessor(chainNormal);
chain200.passRequest(false);
- 4.js模式-发布-订阅模式
- 3.js模式-策略模式
- 2.js模式-单例模式
- JavaScript基础——类型、值和变量
- javascript中onSubmit="return xxx()"的问题
- js验证函数摘录
- JavaScript基础知识
- JavaScript 数组
- 理解JavaScript中的事件轮询
- WebApi传递JSON参数 接收不到参数
- Gson解析JSON中动态未知字段key的方法
- [LeetCode][JavaScript]Path Sum II
- javascript动态添加css样式
- [LeetCode][JavaScript]Path Sum
- Javascript在页面的执行顺序
- Angular.js学习笔记(一)
- 转载js入门须知
- JavaScript Core -- 理解闭包
- JavaScript Core -- 事件
- JavaScript BOM -- setTimeout()和setInterval() 常见问题